0

アクセント記号でいっぱいの CSV からのテキストがあります。が trueかどうかを確認するmb_check_encoding($my_text, 'utf-8')と、そうです。このテキストを使用して、a$jsonを適用する変数を生成します。

json_encode($json,JSON_NUMERIC_CHECK);

var_dump($json)

すべての奇妙なマーク (é、ì など) が正しい配列の配列を返しますが、生成された JSON テキストは正しくありません (例:"Donn\u00e9es"の代わり"Données")。

utf8 でエンコードされたデータに対してのみ正常に機能することがわかっているjson_encodeため、utf8 である前に確認しました。header("Content-type: application/json; charset=UTF-8");私も成功せずに追加しようとしました。

では、その理由は何でしょうか?

4

1 に答える 1

4

これは、JSONが「奇妙なマーク」、つまりUnicode文字をエンコードする方法です。JSONでエンコードされた文字列を使用するjson_decode()と、通常の文字列に戻ります。

于 2013-02-19T14:17:49.243 に答える