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

use*_*442 6 javascript jquery utf-8 iso-8859-1

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

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

如何将字符转换为可读?

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

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

$.ajax({ contentType: ... });
Run Code Online (Sandbox Code Playgroud)

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

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

Nik*_*iko 7

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

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

utfstring = unescape(encodeURIComponent(ajaxreturn));
Run Code Online (Sandbox Code Playgroud)

编辑:如果这也不起作用,请尝试反过来:

fixedstring = decodeURIComponent(escape(ajaxreturn));
Run Code Online (Sandbox Code Playgroud)

如果您发布"编码"函数的输出也可能有所帮助 - 这样就可以识别正在发生的事情:

encodeURIComponent(ajaxreturn)
        vs.
escape(ajaxreturn)
Run Code Online (Sandbox Code Playgroud)

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

 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Run Code Online (Sandbox Code Playgroud)

  • 它运作不佳.内容是:it rio是:it�rio (6认同)