Преобразование Unicode для MySQL и JSON - PullRequest
0 голосов
/ 09 декабря 2008

У меня есть некоторый HTML, который был вставлен в базу данных MySQL из файла CSV, который, в свою очередь, был экспортирован из файла MDB для доступа. Файл MDB был экспортирован как Unicode, и действительно является Unicode. Я, однако, не уверен, что такое кодировка базы данных MySQL.

Когда я пытаюсь отобразить html, сохраненный в поле, Unicode отсутствует. Это прямой поиск одного из html-полей в базе данных.

http://www.yousendit.com/download/TTZueEVYQzMrV3hMWEE9PQ

В источнике написано utf-8. Фактический код страницы, сгенерированный при выводе article_desc, находится здесь:

http://www.nomorepasting.com/getpaste.php?pasteid=22566

Мне нужно использовать этот HTML с JSON, и мне интересно, что мне делать. Я не могу использовать любые другие фреймворки или библиотеки. Должен ли я преобразовывать данные перед вставкой в ​​базу данных MySQL или что-то еще?

1 Ответ

2 голосов
/ 09 декабря 2008

Файл mdb был экспортирован как Unicode и действительно является unocode.

Это не имеет смысла. Файл не может быть Unicode. Он может быть закодирован с помощью Unicode-совместимой кодировки, такой как utf-8, или utf-16, или utf-8 с BOM или ..

Проблемы с кодировкой - очень распространенная проблема, и ее корни в невежестве. Я не говорю это, чтобы вас обидеть, но вам действительно нужно знать разницу между кодовыми точками (строками) и кодировками (потоками). Если вы не знаете, с чем имеете дело во всем приложении, у вас в конечном итоге возникнут проблемы. Проклятие этих проблем состоит в том, что они возникают только в крайних случаях, поэтому их легко контролировать в течение длительного времени, и когда вы наконец понимаете, что что-то не так, это может быть вызвано совершенно не связанной частью вашего приложения. Это делает почти невозможным отладку.

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