У меня есть следующий файл UTF-8, экспортированный из файла доступа Microsoft
http://www.yousendit.com/download/TTZtT214SU84Q1FLSkE9PQ
Я убедился, что моя база данных mysql имеет статус utf8; Команда для клиента и сервера. Я вставляю указанный выше файл в свою базу данных с помощью следующей команды:
LOAD DATA LOCAL INFILE 'tblAuction1.txt' INTO TABLE Auctions FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\';
Кажется, все идет нормально, символы юникода отображаются в HTML, как они должны быть, насколько я могу судить. Непосредственное содержание поля базы данных здесь:
http://www.nomorepasting.com/getpaste.php?pasteid=22622
Тем не менее, полученный HTML-код отображается:
http://www.nomorepasting.com/getpaste.php?pasteid=22617
Который отображается как
Перечень комиссий
1.00
<\/OBJECT>
');\n\t\t<\/SCRIPT>\n\t\t
в браузере
Код, который я использую, чтобы показать это:
http://www.nomorepasting.com/getpaste.php?pasteid=22618
, который работал нормально, прежде чем я изменил кодировку.
В качестве дополнительного вопроса мне интересно, почему переход от разделителя табуляции к разделению точкой с запятой, а вложение полей уменьшит размер экспортируемого файла наполовину. Символ табуляции - это один символ, такой же как; символ, а добавление кавычек для включения должно было увеличить размер?