function replace_unicode_escape_sequence($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
};
$str = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', json_encode($json));
file_put_contents('string.file.json', $str);
PHP5.2的 json_encode()函数没有第二项参数,生成的JOSN字符串中的中文会变成unicode编码,所以需要以上代码进行转换,保持汉字不会改变编码形式。