PHP json_encode分配null而不是值?

I have a CSV file that looks like this:

http://ideone.com/YWuuWx

I read the file and convert it to array, which works completely fine, but then I jsonize the array - but json_encode doesnt put the real values - it puts null - here is the dump of the array and jsonized array:

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

I convert like this: $php_array= json_encode($json_array,JSON_PRETTY_PRINT);

anyone knows what might cause the problem?

EDIT: I think ther is like 90% chance that its caused by the latin1 characters - anyone knows the best workaround?

Assuming that it is in fact an encoding error, and that your data is actually encoded in some ISO-8859 variant (I'm guessing latin2 rather than latin1 based on your use of LATIN SMALL LETTER R WITH CARON), and that it is CONSISTENTLY so, you can use iconv() to re-encode it as UTF-8 before doing json_encode():

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