我正在读取本地.txt文件中的数据,并通过.innerHTML将其放入HTML正文中。基本上它的工作,但我有问题显示变音符号(ä,ö,ü,...)
document.getElementById('textbox2').innerText = "äöü";
没有问题,但是很快,因为我要显示的文本来自txtfile,因此umlaut将显示为questionmarkboxes
document.getElementById('textbox2').innerText = txtFileContentContainingUmlauts;
我尝试了很多组合来用转义序列替换txtfile内容:
...txtFileContentContainingUmlauts.replace("ä", "\u00c4");
反之亦然,但似乎没有任何效果。
有什么建议吗?
注意:我使用的是Notepad ++;编码是utf-8;我将标题和脚本中的字符集设置为“utf-8”
答案 0 :(得分:0)
您是如何将文件内容转换为HTML的?我试图从文件输入加载文件内容,它适用于我。
function fileChanged() {
var file = document.getElementById("file").files[0];
if (file) {
const reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function(evt) {
document.getElementById("fileContents").innerText = evt.target.result;
};
reader.onerror = function(evt) {
document.getElementById("fileContents").innerText = "error reading file";
};
}
}
<html>
<body>
<form id="form">
<input type="file" name="file" id="file" onchange="fileChanged()" />
</form>
<div id="fileContents"><i>file content will be displayed here</i></div>
</body>
</html>
答案 1 :(得分:0)
最后,它只是.txt文件本身的编码。在记事本中重新创建并解决了所有问题...... 感谢Arndt。