Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.08.2008, 11:17
deeplay вне форума Посмотреть профиль Отправить личное сообщение для deeplay Найти все сообщения от deeplay
  № 1  
Ответить с цитированием
deeplay

Регистрация: 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;"); — все без толку (((((

Старый 24.08.2008, 11:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Что-то мне подсказывает, что html-сущности создает либо скрипт, либо браузер. База тут непричем.

Старый 24.08.2008, 13:52
deeplay вне форума Посмотреть профиль Отправить личное сообщение для deeplay Найти все сообщения от deeplay
  № 3  
Ответить с цитированием
deeplay

Регистрация: Dec 2007
Сообщений: 27
__etc, то есть скрипт phpMyAdmin'а, который заносит в базу? Не совсем понял что вы имели ввиду.

Старый 24.08.2008, 13:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от deeplay Посмотреть сообщение
__etc, то есть скрипт phpMyAdmin'а, который заносит в базу? Не совсем понял что вы имели ввиду.
Я имел ввиду html-сущности, которые создает либо сам скрипт, либо браузер (хотя врядли браузер таким занимается).

Старый 24.08.2008, 14:06
deeplay вне форума Посмотреть профиль Отправить личное сообщение для deeplay Найти все сообщения от deeplay
  № 5  
Ответить с цитированием
deeplay

Регистрация: Dec 2007
Сообщений: 27
получается я в безвыходном положении? ужасно, неужели придется использовать php-файлы вместо базы? это же будет смешно, но мне от этого только грустно(((

правда у меня щас возникла идея по написании функции (пхп), которая будет заменять s&#.601; на ə. думаю должно помочь... хоть и скрипт будет медленно работать, так как там не только эта буква, там куча разных + ещё и регистр


Последний раз редактировалось deeplay; 24.08.2008 в 14:09.
Старый 24.08.2008, 19:16
deeplay вне форума Посмотреть профиль Отправить личное сообщение для deeplay Найти все сообщения от deeplay
  № 6  
Ответить с цитированием
deeplay

Регистрация: Dec 2007
Сообщений: 27
решил проблему пхп-шным ковертом. но тема хранения символов в БД осталась не раскрытой.

Старый 27.08.2008, 17:45
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 7  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
для базы нужна кодировка подключения. То есть в какой кодировке ждать данных от юзера и в какой кодировке возвращать данные ему.

К сожалению дефолтные такие настройки доступны только в config и распространяются на весь сервер mySQL.

По этому можно выставить кодировку базы/таблицы в utf8_unicode_ci, как вы делали и! указать что обмен данными будет так же в утф
sql:
Код:
SET character_set_results = 'utf8', character_set_client = 'utf8'
за правильность не уверен, но вроде это меня имено так спасло однажды.

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
mysql , php , unicode , utf8
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.