Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Нарушилась кодировка (drug) 10/01/2010 - 06:46:47
      Re: Нарушилась кодировка (drug) 10/01/2010 - 06:47:20
      Re: Нарушилась кодировка (drug) 13/01/2010 - 11:34:53

> Original message text:
> From: drug - 10/01/2010 - 06:46:47
> Subject:Нарушилась кодировка
> -----------------
> есть БД:
> запрос show variable; показывает:
>
> character_set_client = utf8
> character_set_connection = utf8
> character_set_database = utf8
> character_set_filesystem = binary
> character_set_results = utf8
> character_set_server = utf8
> character_set_system = utf8
> collation_connection = utf8_general_ci
> collation_database = utf8_general_ci
> collation_server = utf8_general_ci
>
> делал в putty (SSH)...
> *************************************
> ПЕРВЫЙ ВАРИАНТ:
> когда выполняю запрос в php (сам php файл в UTF-8):
>
> mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
>
> в БД записывается это: пÑ?ивет < смотрю через phpMyAdmin.
> на странице (сам файл страницы в UTF-8 так же установлен content="text/html; charset=utf-8") вывожу это, вижу нормальный русский текст, тобишь "Привет".
>
>
> ВТОРОЙ ВАРИАНТ:
> делаю "насильно" после соединения с БД:
> mysql_query("SET names 'utf8' COLLATE 'utf8_general_ci'");
> и выполняю тот же выше приведенный запрос:
> mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
>
> в БД записывается слово "Привет" < смотрю через phpMyAdmin. вывожу это на страницу, вижу нормальный русский текст... в то время как то что я записывал ранее выводится уже как пÑ?ивет
>
> *************************************
> объясните мне пожалуйста почему так происходит при ПЕРВОМ ВАРИАНТЕ?
> как перекодировать БД если туда всё записано по ПЕРВОМУ ВАРИАНТУ - вернее, объясните сам алгоритм, что на что кодировать?
> есть альтернатива перекодированию?
>
> PS. модуль php:
> iconv - есть;
> php-mbstring - нету, возможности установить - нету;
>
> - для чего это? ответ: по первому варианту в БД с установленной utf8_general_ci поиск русских символов регистроЗАВИСИМ, когда по ВТОРОМУ ВАРИАНТУ поиск регистроНЕзависим.
>
> огромное спасибо за ранее!!!
>


From: drug - 10/01/2010 - 06:47:20
Subject:Нарушилась кодировка
-----------------
вот есть ещё идея:

рас браузер по ПЕРВОМУ ВАРИАНТУ всё отображается нормально, то наверно есть и способ всё оттуда вытащить в таком виде который мы наблюдаем на странице (ПЕРВЫЙ ВАРИАНТ), а затем уже нормально перелапатить БД в UTF-8 - т.к. русские символы UTF-8 в среде cp1251 будут отображаться как символы + русские буквы, сейчас же мы видим символы + латинские буквы - это на лицо неверная кодировка, как вот её вернуть в нормальное состояние не понятно.

понятно что точно не так:
*символы + латинские буквы (utf8) > конвертирование > символы + русские буквы (utf8)*

тут наверно скорее как я писал вышет так будет:
*символы + латинские буквы (utf8) > конвертирование > cp1251*
-- но вот КАК?! :(


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36639



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |