【问题标题】:How to pass a latin1 charset associative array from php to javascript?如何将 latin1 字符集关联数组从 php 传递到 javascript?
【发布时间】:2014-08-07 14:18:19
【问题描述】:

问题是我在 db 中有 latin1 字符集。 php 中的默认输出是 utf-8。 即使我使用 php iconv,它也会返回 null,因为新字符串应该已经是 utf-8。

转换数据库需要停机。

我不能使用 json_encode,因为字符串是格式错误的 utf-8,包含 �。

我需要一个替代方法来临时解决问题,而无需迁移数据库。

我需要将关联数组传回 JS。我正在使用 Ajax 获取数据。

【问题讨论】:

    标签: javascript php character-encoding associative-array


    【解决方案1】:

    您可以在将数据传递给json_encode 之前转换编码(这确实需要UTF8 编码的字符串)。使用the mb_convert_encoding function 就可以了:

    $utf8String = mb_convert_encoding(
        $sourceString,
        'UTF8',
        '<src encoding>' //in your case: ISO-8859-1
    );
    

    同时,制定一个如何将数据库转换为 UTF-8 的策略,因为它会为您省去很多在整个项目中无休止地处理不同编码的痛苦。

    【讨论】:

      【解决方案2】:

      将驱动程序的编码(客户端)显式设置为 UTF-8。

      示例:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-28
        • 1970-01-01
        • 2013-05-15
        • 2012-09-12
        • 1970-01-01
        • 2015-10-29
        • 2015-04-10
        相关资源
        最近更新 更多