我有從谷歌電子表格rss飼料生成以下數據。如何在PHP中使用fgetcsv()來處理日文字符?
いきます,go,5
きます,come,5
かえります,"go home, return",5
がっこう,school,5
スーパー,supermarket,5
えき,station,5
ひこうき,airplane,5
使用PHP,我可以做到以下幾點:
$url = 'http://google.com.....etc/etc';
$data = file_get_contents($url);
echo $data; // This prints all Japanese symbols
但是,如果使用:
$url = 'http://google.com.....etc/etc';
$handle = fopen($url);
while($row = fgetcsv($handle)) {
print_r($row); // Outputs [0]=>,[1]=>'go',[2]=>'5', etc, i.e. the Japanese characters are skipped
}
所以它出現在日文字符使用的是fopen
或fgetcsv
時跳過。
我的文件保存爲UTF-8,它的PHP頭文件將其設置爲UTF-8,並且在HTML頭中有一個元標記將其標記爲UTF-8。我不認爲它是自己的文檔,因爲它可以通過file_get_contents
方法顯示字符。
感謝
嗯,看起來似乎它匹配錯誤。我會嘗試語言環境設置,看看是否有所作爲 – Chris 2011-06-06 21:30:00
我無法在Linux機器上重現問題。 (將平假名複製粘貼到CSV文件中。)默認情況下,我相信它是以'en_US.utf8'的形式運行的。 – Darien 2011-06-14 18:03:57