2011-02-27 75 views
1

我有這樣的代碼:越來越空字段從CSV中提取數據時,提交

$row = 1; 
if (($handle = fopen("data.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 

和阿拉伯語CSV文件containes數據,當我在瀏覽器中打開網頁,我得到空值的第二場在所有行中,但在CSV文件中包含數據。所以當有阿拉伯語的數據,我得到它的頁空的時候顯示它- 不是所有的阿拉伯數據,其中大部分 -

當我把不包含阿拉伯語數據的文件,每一件事情是確定的。

什麼問題?

編輯:從CSV文件

線:

enter image description here

我加入他們的照片,因爲當複製/過去會不會把數據按正確的順序

和我在此照片的輸出:

enter image description here

+2

可以提供一對夫婦的輸入線爲我們測試用。 – Gordon 2011-02-27 12:18:58

+0

如果您直接在瀏覽器中查看CSV文件,是否顯示阿拉伯文? – 2011-02-27 14:54:16

+0

@tandu:是的,我可以看到他們時,我設置頁面代碼到Windows 1256 – Saleh 2011-02-27 14:58:28

回答

0

我相信不同的語言/字符集被用於創建CSV,並閱讀到PHP的問題是由於。

如果字符集是不一樣的,PHP試圖進行的轉換。在這種情況下,它看起來像轉換失敗,使數據似乎丟失。

0

我還試圖用不同的語言的數據,但是,當我讀到使用PHP代碼csv文件,該數據被轉換成????????。在csv文件中嘗試了很多不同的語言數據,但沒有找到成功的結果。於是,我來到了一個結論,如果我們要處理的是涉及其他多國語言英語PHPExcel將是最好的選擇電子表格文件。這是一個很棒的圖書館。它肯定會幫助你。