PHP json_encode分配null而不是值?

时间:2013-09-03 10:13:40

标签: php arrays json

我有一个如下所示的CSV文件:

http://ideone.com/YWuuWx

我读取文件并将其转换为数组,这完全正常,但随后我将数组jsonize - 但是json_encode没有放置实际值 - 它放置null - 这里是转储数组和jsonized数组:

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

我这样转换:$php_array= json_encode($json_array,JSON_PRETTY_PRINT);

任何人都知道可能导致问题的原因是什么?

编辑:我认为它是由拉丁1字符引起的90%几率 - 有谁知道最好的解决方法?

1 个答案:

答案 0 :(得分:2)

假设它实际上是一个编码错误,并且您的数据实际上是以某种ISO-8859变体编码的(我猜测latin2而不是latin1,基于你使用LATIN SMALL LETTER R WITH CARON),它是一致的,你可以使用iconv()在执行json_encode()之前将其重新编码为UTF-8:

$foo = iconv('ISO-8859-2', 'utf8', $foo);