2016-05-13 2 views
0

Я делаю функцию импорта/экспорта для веб-сайта электронной коммерции. Функция, которая импортирует инвентарь, работает хорошо. Но там есть проблема. Когда я пишу какой-либо специальный символ (например, «.», «,») Внутри поля инвентаря, этот символ заменяется на «??».Специальный символ (ex ".") Не умеет читать из CSV в PHP

Итак, кто-нибудь может помочь мне исправить эту проблему?

+1

Не могли бы вы предоставить фрагмент кода PHP? – luka5z

+0

$ file = "inventory.csv" while ($ row = fgetcsv ($ file)) { \t echo "

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

+0

Такие проблемы часто связаны с тем, что CSV создается с кодировкой Windows/ISO и PHP, работающей с UTF-8. Проверьте кодировку. – 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

Принял одно поле, как «тест ...». Затем «....» автоматически удалит результат. –

Смежные вопросы