使用boost::property_tree::write_json()
编写JSON文件时,所有unicode字符都将表示为两个"/u"代码点。
- 因此
ä
将变为u00C3u00A4
我的问题是,我正在生成一个JSON文件,该文件将通过JQuery读取并显示在网页中。在这种情况下,这对将显示为两个分开的unicode符号。
- 所以
ä
看起来像ä
有没有一种方法可以配置输出编码以获得单个Utf16代码点?或者有没有一种方法可以告诉jQuery将两个代码点作为一个代码点使用?
同样,为什么ä
变成了u00C3u00A4
而不是u00E4
?我真的不明白。
谢谢你的帮助!
这是因为它被编码为"UTF-8",如果输出出现这样的错误,要么是因为它已经被编码了两次,要么是由于它没有被"理解"为UTF-8。这可能是因为网页没有正确设置为"使用UTF-8"。页面上的页眉需要有Content-Type: text/html; charset=utf-8
或类似的内容。