首页 文章

将ISO-8859-1转换为UTF-8 [重复]

提问于
浏览
4

这个问题在这里已有答案:

我通过jQuery的ajax发送HTTP请求 .

但是我无法访问的服务器返回ISO-8859-1,而我的页面是UTF-8 .

如何将字符转换为可读?

因为没有转换出现像:it rio

@Edit:我尝试使用以下方法更改ajax请求的字符集:

$.ajax({ contentType: ... });

我试图将html的meta更改为ISO-8859-1 .

@Solution:我找到了解决方案:https://stackoverflow.com/a/14397845/3451442

1 回答

  • 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" />
    

相关问题