我正在努力解决以下问题.使用
javascript我想更改一个文件内容的字符集,并将该内容显示给用户.
@H_404_2@我有一个输入:文件格式.在变化中我正在阅读内容
$('#form input:file').change(function(event){ file = this.files[0]; reader = new FileReader(); reader.onload = function(event) { result = event.target.result.replace(/\n/g,'<br />'); $('#filecontents').html(result); }); reader.readAsText(file); })@H_404_2@该文件在Windows-1251中.我想将文件的内容转换为另一个编码,然后将其显示给用户. @H_404_2@这可以通过javascript来实现吗? @H_404_2@问候
解决方法
如果您的HTML页面是UTF-8,您的文件是ISO-8859-1.
@H_404_2@这是工作:
reader.readAsText(file,'ISO-8859-1');@H_404_2@我没有任何Windows-1251文件,所以我无法测试,但它看起来像’CP1251′(至少由Google Chrome)支持,所以:
reader.readAsText(file,'CP1251');@H_404_2@如果没有这个工作.那么您应该手动更改格式.不幸的是,我不知道任何JavaScript库做的诀窍. @H_404_2@从unicode映射here和Delan Azabani answer,您应该设法构建一个函数,将char中的char转换为CP1251中的字符串到UTF-8.