0

次のような CSV ファイルがあります。

http://ideone.com/YWuuWx

ファイルを読み取って配列に変換すると、完全に正常に機能しますが、配列をjson化します-しかし、json_encodeは実際の値を入れません-nullを入れます-配列とjson化された配列のダンプは次のとおりです。

http://jave.jecool.net/stackoverflowdemos/csv_to_json_to_arraydump.php

私はこのように変換します:$php_array= json_encode($json_array,JSON_PRETTY_PRINT);

誰が問題の原因を知っていますか?

編集: latin1 文字が原因である可能性は 90% 程度だと思います - 誰かが最善の回避策を知っていますか?

4

1 に答える 1

2

それが実際にはエンコードエラーであり、データが実際に ISO-8859 バリアントでエンコードされていると仮定すると (LATIN SMALL LETTER R WITH CARON の使用に基づいて、latin1 ではなく latin2 を推測しています)、一貫してしたがって、json_encode() を実行する前に、iconv() を使用して UTF-8 として再エンコードできます。

$foo = iconv('ISO-8859-2', 'utf8', $foo);
于 2013-09-03T10:49:42.663 に答える