MySQL и PHP Unicode проблемы - PullRequest
       12

MySQL и PHP Unicode проблемы

0 голосов
/ 10 декабря 2008

У меня есть следующий файл 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

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

В качестве дополнительного вопроса мне интересно, почему переход от разделителя табуляции к разделению точкой с запятой, а вложение полей уменьшит размер экспортируемого файла наполовину. Символ табуляции - это один символ, такой же как; символ, а добавление кавычек для включения должно было увеличить размер?

1 Ответ

1 голос
/ 10 декабря 2008

В зависимости от конфигурации веб-сервера вам может понадобиться явно указать кодировку «text / html; charset = UTF-8» с header():

header('Content-Type: text/html; charset=UTF-8');

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

У меня также есть этот шпаргалка в моих закладках, я думаю, что он все еще актуален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...