|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2007
Сообщений: 27
|
Проблема с хранением юникода в MySQL
Доброе время суток.
Для тех кому лень читать нижеописанное, сразу задам вопрос: Где в phpMyAdmin что надо поменять, что бы в базу заносилось səhifə, а не s&#.601;hif&#.601;? Для тех, у кого есть время: Была создана база с таблицами с кодировкой по умолчанию (cp1251_general_ci). В базу занесен (например) текст səhifə. Он попал в базу как s&#.601;hif&#.601; php-файл читает с базы, флеш у него берет переменную, хранящая вышеуказанный текст. Флеш конечно после буквы s в тексте все оборвет, это многие тут знают. php-файл сохранен в кодировке UTF8 и если вручную там вписать этот текст, то флеш с радостью все читает! это тоже знаем В базе (через phpMyAdmin) все поля Сравнение сделал utf8_unicode_ci и вообще, кликнув на Операции (для всей БД) сравнение сделал так же utf8_unicode_ci. (далее, когда увидел что не помогает, делал у всего utf8_general_ci) Создал новую таблицу, она уже в utf8_unicode_ci, и вписал туда səhifə, в базу опять занесено s&#.601;hif&#.601; Где в phpMyAdmin что надо поменять, что бы в базу заносилось səhifə ? p.s.: искал по форуму, советовали iconv. определял кодировку (почему-то ISO-8859-1). менял (iconv_set_encoding) на UTF8, после чего iconv_get_encoding показывал UTF8! и даже делал iconv("ISO-8859-1", "UTF-8", "s&#.601;hif&#.601;"); — все без толку ((((( |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Что-то мне подсказывает, что html-сущности создает либо скрипт, либо браузер. База тут непричем.
|
|
|||||
Регистрация: Dec 2007
Сообщений: 27
|
__etc, то есть скрипт phpMyAdmin'а, который заносит в базу? Не совсем понял что вы имели ввиду.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Я имел ввиду html-сущности, которые создает либо сам скрипт, либо браузер (хотя врядли браузер таким занимается).
|
|
|||||
Регистрация: Dec 2007
Сообщений: 27
|
получается я в безвыходном положении? ужасно, неужели придется использовать php-файлы вместо базы? это же будет смешно, но мне от этого только грустно(((
правда у меня щас возникла идея по написании функции (пхп), которая будет заменять s&#.601; на ə. думаю должно помочь... хоть и скрипт будет медленно работать, так как там не только эта буква, там куча разных + ещё и регистр Последний раз редактировалось deeplay; 24.08.2008 в 14:09. |
|
|||||
Регистрация: Dec 2007
Сообщений: 27
|
решил проблему пхп-шным ковертом. но тема хранения символов в БД осталась не раскрытой.
|
|
|||||
для базы нужна кодировка подключения. То есть в какой кодировке ждать данных от юзера и в какой кодировке возвращать данные ему.
К сожалению дефолтные такие настройки доступны только в config и распространяются на весь сервер mySQL. По этому можно выставить кодировку базы/таблицы в utf8_unicode_ci, как вы делали и! указать что обмен данными будет так же в утф sql: за правильность не уверен, но вроде это меня имено так спасло однажды. |
Часовой пояс GMT +4, время: 12:36. |
|
« Предыдущая тема | Следующая тема » |
Теги |
mysql , php , unicode , utf8 |
Опции темы | |
Опции просмотра | |
|
|