2016-05-13 13 views
0

私は電子商取引のウェブサイトのインポート/エクスポート機能を作成しています。在庫をインポートする機能がうまく機能しています。しかしそこには問題があります。在庫フィールド内に特殊文字(「。」、「、」など)を書くと、この文字は「??」に置き換えられます。PHPのCSVから読み込めない特殊文字(ex "。")

だから誰でも問題を解決できますか?

+1

PHPコードのスニペットを教えてください。 – luka5z

+0

$ file = "inventory.csv" while($行= fgetcsv($ファイル)){ \tエコー "

"; \t print_r($row); \t echo "
"; } –

+0

このような問題は、CSVがWindows/ISOエンコーディングとUTF-8で動作するPHPで作成されていることが原因です。エンコードを確認してください。 – jtheman

答えて

0
header("Content-Type: text/html; charset=utf-8"); 
     $csvContent = file_get_contents($fileName); 
     $encoding = mb_detect_encoding($csvContent, 
             array("UTF-8","UTF-32","UTF-32BE","UTF-32LE","UTF-16","UTF-16BE","UTF-16LE"), 
             TRUE); 

     if($fileEncoding !== "UTF-8") { 
      $csvContent = mb_convert_encoding($csvContent, "UTF-8", $fileEncoding); 
     } 

     foreach(explode(PHP_EOL, $csvContent) as $item) { 
      var_dump($item); 
     } 
+0

まだ動作しません。 –

+0

「テスト...」のような1つのフィールドが必要でした。その後、「....」は結果として自動的に削除されます。 –

関連する問題