2016-04-24 138 views
0

我有一个CSV文件是这样的:无法从CSV阿拉伯文文本保存为txt文件

region_name, city_name, district_name, ppm_value 
منطقة, مدينة , حي , 220.92 
... 

所有列在阿拉伯语中的字符串,除了ppm_value这是一个浮点数。我试图处理csv文件并以json格式重现它。我尝试这样做:

$districts = array(); 
$fd = fopen('data2.csv', 'r'); 
while ($row = fgetcsv($fd)) { 
    $region = $row[0]; 
    $city = $row[1]; 
    $district = new stdClass(); 
    $district->name = "".$row[2]; 
    $district->ppm = $row[3]; 
    //also add region and city to $district 

    $districts[] = $district; 
} 

$json1=json_encode($districts); 
file_put_contents("text.txt",$json1); 

这将产生以下:

[{"name":null,"ppm":"220.92","region":null,"city":null}, ... ] 

浮正确保存,但阿拉伯语字符串均为空。我甚至尝试将它保存这样的,但我得到了相同的结果:

$myfile = fopen('text.txt', "w") or die("Unable to open file!"); 
fwrite($myfile, json_encode($districts));  
fclose($myfile); 

回答

1

我知道旁边没有关于PHP,但也许问题是,你的阿拉伯语文本被编码为ASCII?

尝试改变它,你把它添加到您的JSON对象之前UNICODE,你可能知道如何做到这一点比我好......

string utf8_encode (string $data) 
+0

这是问题。谢谢! – iTurki