mar*_*ith 8 javascript encoding xmlhttprequest utf-8
有人可以帮忙吗?我有一个小程序,使用XMLHttpRequest使用javascript读取UTF-8文件..此文件包含miércolessábado等欧洲字符.请注意重音符号..
但是当被读入时...字符都搞砸了..我检查了文件,它是完美的..它必须是阅读的程序..
继承人的一个例子我有文件包含,文件是完美的,它恰好是javascript但无关紧要..任何带有特殊字符的UTF-8编码文件都给我同样的问题
this.weekDays = new Array("Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo");
但是当通过以下程序返回并阅读时,它就像这样(注意sabado和miercoles中的有趣人物)
this.weekDays = new Array("Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo");
这是我的程序 - 非常小......
var contentType = "application/x-www-form-urlencoded; charset=utf-8";
var request = new XMLHttpRequest();
request.open("GET", path, false);
request.setRequestHeader('Content-type', contentType)
if (request.overrideMimeType) request.overrideMimeType(contentType);
try { request.send(null); }
catch (e) { return null; }
if (request.status == 500 || request.status == 404 || request.status == 2 || (request.status == 0 && request.responseText == '')) return null;
//PROBLEM HERE is with european charcters that are read in
print(request.responseText);
return request.responseText;
Run Code Online (Sandbox Code Playgroud)
Ric*_*rdo 21
可能你的文件不是UTF-8然后从javascript尝试这个:
var request = new XMLHttpRequest();
request.open("GET", path, false);
request.overrideMimeType('text/xml; charset=iso-8859-1');
Run Code Online (Sandbox Code Playgroud)
编辑:似乎这个答案虽然被接受,但并不是最理想的,因此对于任何遇到类似问题的人来说,请查看里卡多的答案
我认为你必须使用不同的方式来打印字符,例如,请参阅本讨论末尾的代码:
<script>
function getUnicode(num) {
num = num.toString(16);
if (num.length < 3) {
for ( var i = num.length; i < 4; i++) {
num = '0' + num;
}
}
return ( "&#" + num + ";" );
}
for ( var i = 0; i < 65355; i++) {
document.write(getUnicode(i));
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31429 次 |
| 最近记录: |