【问题标题】:Two unicode code-points when using json_write()?使用 json_write() 时有两个 unicode 代码点?
【发布时间】:2013-09-04 10:10:30
【问题描述】:

当使用boost::property_tree::write_json()编写JSON文件时,所有的unicode字符将被表示为两个“/u”-code point。

  • 所以ä 将变为\u00C3\u00A4。

我的问题是,我正在生成一个 JSON 文件,该文件将通过 JQuery 读取以显示在网页中。在这种情况下,这对将显示为两个单独的 unicode 符号。

  • 所以ä 看起来像ä

有没有办法配置输出编码以获得单个 Utf16 代码点?或者有没有办法告诉 jQuery 将两个代码点作为一个来使用?

另外,为什么ä 变成\u00C3\u00A4 而不是\u00E4?我真的不明白。

感谢您的帮助!

【问题讨论】:

    标签: jquery c++ json unicode boost-propertytree


    【解决方案1】:

    那是因为它被编码为“UTF-8”,如果输出出现这样的错误,可能是因为它被编码了两次,或者因为它没有被“理解”为 UTF-8。这可能是因为网页没有正确设置为“使用 UTF-8”。您在页面上的标题需要有Content-Type: text/html; charset=utf-8 或类似的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多