Я пытаюсь импортировать продукт csv, используя PHP to MySQL
. Когда я пытаюсь импортировать, я получил странные символы, которые также не добавляют должным образом database table
.PHP CSV импорт получает странные символы
Product Name on CSV File
Alva Cook'on Braadpan Lavendelblauw ovaal 24 см - 4,2-литровые
Название продукта я получил, когда функция импорта выполнить
Alva Cook'on Braadpan Lavendelblauw ovaal 24 см в € «4,2 л
мой код, как
while (($emapData = fgetcsv($filepath, 10000, ",")) !== FALSE)
{
$pd_name= ($emapData[1]);
}
я использовал эту функцию в качестве решения это показывает название продукта правильно на импорт странице
$pd_name=mb_convert_encoding(($emapData[1]), 'UCS-2LE', 'UTF-8');
Output ~ Alva Cook'on Braadpan Lavendelblauw ovaal 24 cm – 4,2 Liter
Но когда я использую mysql_real_escape_string
, как показано ниже для вставки имени в БД таблицу, он добавил много slashes
и не работает должным образом ,
$pd_name=mysql_real_escape_string(mb_convert_encoding(($emapData[1]), 'UCS-2LE', 'UTF-8'));
Output ~ A\0l\0v\0a\0 \0C\0o\0o\0k\0\'\0o\0n\0 \0B\0r\0a\0a\0d\0p\0a\0n\0 \0L\0a\0v\0e\0n\0d\0e\0l\0b\0l\0a\0u\0w\0 \0o\0v\0a\0a\0l\0 \02\04\0 \0c\0m\0 \0 \04\0,\02\0 \0L\0i\0t\0e\0r\0
SQL database
таблица поддерживает UTF
и когда мы добавляем продукты, как правило, используя форму, мы не сталкивались с этой проблемой, кто знает, как решить эту проблему. Спасибо
use utf8_encode(); надеюсь, что это сработает –
Вам нужно использовать ту же кодировку во всей цепочке рендеринга ENTIRE. Сам PHP не связан с кодировкой строки. Строка - это строка, содержащая кучу байтов. То, что эти байты представляют, не имеет никакого отношения к самому PHP. Это когда вы начинаете обрабатывать эту строку, которая имеет фактическое представление. Если вы конвертируете в utf-8, как вы делаете, но вы не сказали среде вывода/отображения ожидать UTF, тогда вы получите «искаженные» символы. –
@KamleshGupta это не работает помощник –