I am struggling with the following problem. Using javascript I would like to change the character set of a file content and display this content to the user.
I have an input:file form. On change I am reading the content
$('#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);
})
The file is in Windows-1251. I would like to convert the content of the file to another encoding and after that present it to the user.
Is this possible to achieve with javascript?
Regards
If your HTML page is in UTF-8 and your file is in ISO-8859-1.
This is working:
reader.readAsText(file, 'ISO-8859-1');
I don't have any Windows-1251 file so I was not able to test it but it looks like that the 'CP1251' is supported (by Google Chrome at least), so:
reader.readAsText(file, 'CP1251');
If none of this is working. Then you should change the formatting manually. Unfortunately, I am not aware of any JavaScript library that does the trick.
From the unicode mapping here and from Delan Azabani answer, you should manage to build a function that convert char by char your string in CP1251 to UTF-8.