2013-11-17 3 views
1

Я работаю над получением большого списка записей в таблице MySQL. Это происходит из файла .doc. Я смог использовать Sublime Text find/replace/etc. для того, чтобы разбить их на вложения MySQL, и до сих пор это сработало. Моя единственная проблема заключается в том, что специальные символы не экранируются и отображаются как <?> на странице, которая отображает записи из базы данных.Импорт большого количества данных в таблицу MySQL - экранирование специальных символов

Есть ли простой способ обеспечить, чтобы все введенные данные были удалены до вставки? Мне не хотелось бы проходить через все их вручную.

Пример:

INSERT INTO `table` (`product-type`, `name`, `description`, `account-type`, `approved`) 
VALUES ('Ex', 'Dolar','Company® cillum dolore eu fugiat nulla pariatur. 
Excepteur sint occaecat cupidatat nonproident, sunt in culpa qui officia deserunt mollit anim id est laborum.', '0', '1'); 

Когда что-то вроде авторского логотипа компании отображается на странице, он показывает, как черный треугольник со знаком вопроса.

+0

Могут ли вы показать нам сгенерированный оператор вставки, содержащий специальные символы? – user2196728

+0

Отредактированный с помощью вставки –

ответ

1

Я изменил на:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 

И вроде нормально (для авторского характера, по крайней мере)

1

Я понял это. Хотя все мои страницы были <meta charset="utf-8">, мне нужно, чтобы добавить charset=utf8 в настройки базы данных:

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8",$dbuser,$dbpass); 

После того, что все на странице отображается правильно. На самом деле на самом деле ничего не делать w/специальные символы, а скорее кодирование символов.

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