【问题标题】:Javascript convert data from utf-8 to iso-8859-1Javascript 将数据从 utf-8 转换为 iso-8859-1
【发布时间】:2010-02-02 21:29:03
【问题描述】:

我在一个网站上工作,该网站使用旧的 ASP 3.0 以 iso-8859-1 编码完成。我使用 Yahoo YQL 从外部网站请求数据 (XML),但我要求将其作为 JSON-P(带有回调函数的 JSON,以便我可以检索数据)返回。

我面临的问题是 YQL 似乎总是返回以 utf-8 编码的数据,当我尝试显示从该查询中检索到的任何文本数据时,这对我不利。由于编码不匹配,é、à、ô 等字符在 IE6 和 IE7 中会出现乱码。

有人知道如何将通过 JSON-P 和 YQL 检索到的 utf-8 数据转换为 iso-8859-1 并正确显示吗?

我已经尝试过that solution,但它不起作用。服务器端功能也不是一个选项,ASP 3.0 不包含 utf8_decode 等功能。

谢谢

【问题讨论】:

    标签: javascript internet-explorer character-encoding yql


    【解决方案1】:

    我不知道这是否可行,但如果你愿意,可以尝试以下方法。

    <script> 标记在引用远程 JS 文件时可以指定 charset 属性。见理论here。这绝对适用于存储在 JavaScript 文件中 的内容,例如使用document.write 输出。

    隐式转换是否适用于通过 JSONP 在该文件中定义的例程获取的数据?我不知道。我的猜测是,可能不会。我现在无法测试它,但如果你这样做,我会对结果非常感兴趣。

    【讨论】:

    • 这不是更多地与实际页面的编码有关吗?即使脚本设置为正确的字符集,文档的任何输出都会将其重置回文档的字符集,不是吗?
    • 正如我所说,它在脚本中执行document.writes 时有效:数据从脚本正确转换为文档的编码(这是 OP 正在寻找的)。我不知道它是否适用于脚本从某处获取的数据。
    • 我明天早上上班试穿,随时通知你
    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 2016-07-29
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2011-09-26
    • 2014-08-29
    相关资源
    最近更新 更多