有谁能帮上忙吗?我有一个小程序来读取一个UTF-8文件与javascript使用XMLHttpRequest..这个文件有欧洲字符,如miércoles sábado等。
但是当读入的时候。。字符都乱了。。我已经检查了文件,它是完美的。。一定是阅读入的程序。
这里有一个示例,我有一个包含的文件,该文件是完美的,它碰巧是javascript,但这并不重要..任何包含特殊字符的UTF-8编码文件都会给我带来同样的问题
this.weekDays =新数组(“月”、“马特斯”、“米尔科莱”、“朱韦斯”、“维尔内”、“萨巴多”、“多明戈”);
但是当被下面的过程返回和读取时,它是这样的(注意Sabado和Miercoles中有趣的字符)
this.weekDays = new数组(“月”、“Martes”、“米埃尔科莱斯”、“朱韦斯”、“维尔内斯”、“萨巴多”、“多明戈”);
这是我的程序-它非常小...
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;
5条答案
按热度按时间8xiog9wr1#
可能你的文件不是UTF-8,然后尝试从javascript:
n1bvdmb62#
我有同样的问题,我用这种方式修复.
如果您提供包含UTF-8格式的西班牙日的js文件,而if没有保存为UTF-8格式,则它将无法工作。
在IDE中以UTF-8格式保存文件(例如,Eclipse默认的js文件格式是cp 1252),并将其作为UTF-8字符编码。
如果您的应用是java,请使用以下代码进行过滤:
祝你愉快
t8e9dugd3#
编辑:这个答案虽然可以接受,但似乎并不是最优的,所以对于任何有类似问题的人,请查看Ricardo's answer
我认为你必须使用不同的方式来打印字符,例如,请参见this discussion末尾的代码:
py49o6xq4#
我也面临同样的问题,我是这样解决的,
在Get请求中,我们通过url发送数据,所以我解码了url并通过字符串操作获取请求参数
考虑一下您是否正在发送这样的URL,var ur 1 =“getSubjectList.jsp”;ur 1 +="?主题列表=”+str+"&考试ID ="+考试ID;
xmlHttp.open(“获取”,ur 1,真);xmlHttp.发送(空);
在getSubjectList.jsp中,使用这个--字符串解码参数= URLDecoder.decode(请求.getQueryString(),“utf-8”);
字符串参数[]=已解码参数拆分(“&”);
通过这种方式,您可以获得请求的值
guykilcj5#
我也有类似的问题。
我向PHP服务器发出了一个AJAX请求,要求检查数据库中的重复名称。
当我通过GET方法发送AJAX请求时,URL被编码,所以我的变量在服务器上获得值,如
%D0%A6%D0%B0%D0%BD%D0%BA%D0%BE%20%D0%9A%D0%B0%D0%BB%D0%B8%D0%BD%D0%BE%D0%B2
。为了解决这个问题,我使用了
urldecode
函数:[PHP网址解码(字符串$字符串)].[1][1]:https://www.php.net/manual/en/function.urldecode.php我希望这对每个有PHP项目的人都有帮助。