我加載已編碼WIN1250文件,但是當我打開它,它有一個像p��jemce
,而不是příjemce
字符(注附加符號)更改字符串編碼WIN1250爲utf8
我想改變編碼從win1250到UTF8。
我設法用下面的代碼
$content = iconv('windows-1250', 'UTF-8', $content);
做在PHP中,但我無法做到這一點的Javascript。我需要做這個客戶端編碼沒有將它發送到服務器(所以我不能使用PHP爲「編碼代理」)
我試圖使用庫iconv-lite
和text-encoding
(上NPM)這樣
var reader = new FileReader();
reader.onload =() => {
var data = reader.result;
// iconv-lite
var buf = iconv.encode(data, 'win1250');
var str1 = iconv.decode(new Buffer(buf), 'utf8');
// text-encoding
var uint8array = new TextEncoder('windows-1250').encode(data);
var str2 = new TextDecoder('utf-8').decode(uint8array);
console.log(str1);
console.log(str2);
};
reader.readAsText(file);
但是實際上都沒有正確地改變編碼。有什麼我失蹤?
你有沒有編碼/解碼錯誤的方式?從你的問題,這聽起來像你想解碼win1250中的文件,並將其視爲utf-8? –
是的,我有一個在win1250中的文件,我希望它是utf8。事情是,它從字符串到字節的「編碼」和從字節到字符串的「解碼」。更多https://github.com/ashtuchkin/iconv-lite – tebeix