2016-05-13 8 views
0

Ich mache Import/Export-Funktion für E-Commerce-Website. Funktion, die Inventar importieren funktioniert gut. Aber da ist ein Problem. Wenn ich ein spezielles Zeichen (z. B. ".", ",") In das Inventarfeld schreibe, wird dieses Zeichen durch "??" ersetzt.Sonderzeichen (ex ".") Kann nicht lesen von CSV in PHP

Also, kann mir jemand helfen, dieses Problem zu beheben?

+1

Konnten Sie einen Ausschnitt Ihres PHP-Codes zur Verfügung stellen? – luka5z

+0

$ file = "inventory.csv" während ($ row = fgetcsv ($ datei)) { \t echo "

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

+0

Solche Probleme sind oft darauf zurückzuführen, dass die CSV mit Windows/ISO-Codierung und PHP mit UTF-8 erstellt wird. Überprüfen Sie die Codierung. – jtheman

Antwort

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

Immer noch nicht funktioniert. –

+0

Hatte ein Feld wie "Test ..." genommen. Dann wird "...." das Ergebnis automatisch entfernen. –