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

Convert ISO-8859-1 to UTF-8

本文关键字:UTF-8 转换 ISO-8859-1      更新时间:2023-09-26

我正在通过jQuery的ajax发送HTTP请求。

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

如何将字符转换为可读的?

For没有转换,看起来像这样:

@Edit:我试过改变ajax请求的字符集使用:

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

我尝试将html的meta改为ISO-8859-1。

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

试试下面所示的技巧:如何使用javascript将特殊的UTF-8字符转换为iso-8859-1等效字符?

在你的情况下,你可以简单地使用:

utfstring = unescape(encodeURIComponent(ajaxreturn));

编辑:如果这也不工作,尝试另一种方式:

fixedstring = decodeURIComponent(escape(ajaxreturn));

如果你把"encode"函数的输出贴出来可能也会有帮助——这样就可以识别出发生了什么:

encodeURIComponent(ajaxreturn)
        vs.
escape(ajaxreturn)

如果这些都不起作用,我想你应该把你的整个页面转换成iso-8859-1:

 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />