Olsufr
Guest
Как обработать строку данных (кодировка utf-8) для запроса в MySQL?
Как правильно обработать строку данных (кодировка utf-8) для запроса в MySQL?
Ситуация такая:
в фоpум на PHP+MySQL надо импортировать данные из файлов (от другого форума). Есть импорте для этого. Но ...
данные в файлах находятся в кодировке utf-8 и php-скрипт импортера на каком-то этапе заваливается с ошибкой:
Пробовал импортировать данные из файлов в кодировке CP-1251. Все работает хорошо.
Вот тот код, который вставляет содержимое переменной в строку запроса:
Подозреваю, что функции addslashes и htmlspecialchars некорректно обрабатывают какие-то из символов utf-8
Пробовал тот файл, на котором спотыкается скрипт обрабатывать отдельно. Все прошло без ошибок.
PHP4.3.9
MySQL 3.23.58
Где здесь может быть ошибка?
Как правильно обработать строку данных (кодировка utf-8) для запроса в MySQL?
Ситуация такая:
в фоpум на PHP+MySQL надо импортировать данные из файлов (от другого форума). Есть импорте для этого. Но ...
данные в файлах находятся в кодировке utf-8 и php-скрипт импортера на каком-то этапе заваливается с ошибкой:
Код:
Invalid SQL: INSERT INTO userfield
(userid,field1,field2,field3,field4,importuserid,isnew)
VALUES
('971',
'',
'texttextext',
'texttexttext.',
'',
'1',1
)
mysql error: Duplicate entry '971' for key 1
mysql error number: 1062
Вот тот код, который вставляет содержимое переменной в строку запроса:
Код:
addslashes(htmlspecialchars($some_tekst))
Пробовал тот файл, на котором спотыкается скрипт обрабатывать отдельно. Все прошло без ошибок.
PHP4.3.9
MySQL 3.23.58
Где здесь может быть ошибка?