我正在努力解决以下问题.使用
javascript我想更改一个文件内容的字符集,并将该内容显示给用户.
$('#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); })
该文件在Windows-1251中.我想将文件的内容转换为另一个编码,然后将其显示给用户.
这可以通过javascript来实现吗?
问候
解决方法
如果您的HTML页面是UTF-8,您的文件是ISO-8859-1.
这是工作:
reader.readAsText(file,'ISO-8859-1');
我没有任何Windows-1251文件,所以我无法测试,但它看起来像’CP1251′(至少由Google Chrome)支持,所以:
reader.readAsText(file,'CP1251');
如果没有这个工作.那么您应该手动更改格式.不幸的是,我不知道任何JavaScript库做的诀窍.
从unicode映射here和Delan Azabani answer,您应该设法构建一个函数,将char中的char转换为CP1251中的字符串到UTF-8.