我正在努力解决以下问题。使用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实现吗?
此致
答案 0 :(得分:40)
如果您的HTML页面是UTF-8,而您的文件是ISO-8859-1。
这是有效的:
reader.readAsText(file, 'ISO-8859-1');
我没有任何Windows-1251文件,所以我无法测试它,但看起来支持“CP1251”(至少谷歌Chrome),所以:
reader.readAsText(file, 'CP1251');
如果这些都不起作用。然后你应该手动更改格式。不幸的是,我不知道有任何JavaScript库可以解决问题。
从unicode映射here和Delan Azabani answer,您应该设法构建一个函数,通过char将您在CP1251中的字符串转换为UTF-8。