将ISO-8859-1转换为UTF-8

时间:2014-03-23 05:06:19

标签: javascript jquery utf-8 iso-8859-1

我通过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

上找到了解决方案

1 个答案:

答案 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" />