「ä」などの特殊文字を、応答する Unicode (例: \u00e4) にエスケープするメソッドを書きたかったのです。
何らかの理由で、JS は「ä」を内部に保存することさえせずに「üã」またはその他の文字化けを使用するのが面白いと判断したため、変換すると「\u00c3\u00b6\u00c3\u002013」が吐き出されます。 「あ」。
HTML ファイルのエンコーディングを utf-8 に設定しようとしましたが、スクリプトを charset="UTF-8" でロードしようとしましたが、役に立ちませんでした。このコードは特別なことは何もしていませんが、次のとおりです。
String.prototype.replaceWithUtf8 = function() {
var str_newString = '';
var str_procString = this;
for (var i = 0; i < str_procString.length; i++) {
if (str_procString.charCodeAt(i) > 126) {
var hex_uniCode = '\\u00' + str_procString.charCodeAt(i).toString(16);
console.log(hex_uniCode + " (" + str_procString.charAt(i) + ")");
str_newString += hex_uniCode;
} else {
str_newString += str_procString.charAt(i);
}
}
return str_newString;
}
var str_item = "Lärm, Lichter, Lücken, Löcher."
console.log(str_item); // Lärm, Lichter, Lücken, Löcher.
console.log(str_item.replaceWithUtf8()); //L\u00c3\u00a4rm, Lichter, L\u00c3\u00bccken, L\u00c3\u00b6cher.