我通过jQuery的ajax发送HTTP请求。
但是我无法访问的服务器返回ISO-8859-1,而我的页面是UTF-8。
如何将字符转换为可读?
如果没有转换,就会出现类似:it�rio
@Edit: 我尝试使用以下方法更改ajax请求的字符集:
$.ajax({ contentType: ... });
我试图将html的元素更改为ISO-8859-1。
@Solution: 我在https://stackoverflow.com/a/14397845/3451442
上找到了解决方案答案 0 :(得分:5)
尝试以下所示的技巧:How do I convert special UTF-8 chars to their iso-8859-1 equivalent using javascript?
在您的情况下,您可以简单地使用:
utfstring = unescape(encodeURIComponent(ajaxreturn));
编辑:如果这也不起作用,请尝试反过来:
fixedstring = decodeURIComponent(escape(ajaxreturn));
如果你发布"编码"的输出也可能有帮助。功能 - 通过这种方式可以识别正在发生的事情:
encodeURIComponent(ajaxreturn)
vs.
escape(ajaxreturn)
如果这些都不起作用,我猜你应该将整个页面转换为iso-8859-1:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />