1

を使用boost::property_tree::write_json()して JSON ファイルを書き込む場合、すべての Unicode 文字は 2 つの「/u」コード ポイントとして表されます。

  • äとなります\u00C3\u00A4

私の問題は、JQuery を介して読み取られ、Web ページに表示される JSON ファイルを生成していることです。その場合、このペアは 2 つの別個の Unicode シンボルとして表示されます。

  • ようäに見えるä

単一の Utf16 コード ポイントを取得するように出力エンコーディングを構成する方法はありますか? または、両方のコードポイントを 1 つとして使用するように jQuery に指示する方法はありますか?

また、なぜ代わりに にäなっているのですか?私は本当にそれを取得しません。\u00C3\u00A4\u00E4

手伝ってくれてありがとう!

4

1 に答える 1

1

これは、「UTF-8」としてエンコードされているためです。出力がそのように間違っている場合は、2 回エンコードされているか、UTF-8 として「理解」されていないためです。これはおそらく、「UTF-8 を使用する」ように Web ページが正しく設定されていないためです。ページのヘッダーには、Content-Type: text/html; charset=utf-8これらの行に沿ってまたは何かが必要です。

于 2013-09-04T10:19:46.520 に答える