Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Отобразить utf8 из mySQL 4.0.1


Автор: pms 5.2.2008, 13:22
Php-скрипт генерирует html-страницу в кодировке utf8, читает данные из mySQL-базы. В итоге на странице наблюдаем "???????". Гугл выдает один и тот же совет: SET NAMES utf8. На что сервер отвечает "#1193 - Unknown system variable 'NAMES'" - версия mySQL сервера 4.0.24_Debian-10sarge1-log. Может кто-нибудь прольет свет, а то и совет даст? Хотелось бы видеть вместо ????? что-то более удобовразумительное.

Автор: GeneralElectric 5.2.2008, 13:38
Ничего особенного делать не надо.
Просто в таблице должны быть данные в нужной кодировке, при получении их не должно ничего перекодироваться и на странице указана правильная кодировка.

Автор: Smith 5.2.2008, 14:22
После версии mysql 4.1 работает запрос mysql_query("/*SET NAMES utf8*/");

а в Вашей только хранение данных в единой кодировке с сайтом поможет

Автор: skyboy 5.2.2008, 15:45
не уверен, что поможет(не пробовал - нет такой старой MySQL), но, http://dev.mysql.com/doc/refman/4.1/en/charset-connection.htmlhttp://dev.mysql.com/doc/refman/4.1/en/charset-connection.html:
Цитата(dev.mysql.com)

A SET NAMES 'x' statement is equivalent to these three statements: 
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

А уж эти переменные должны быть и в 4.0.1, как мне кажется...

Автор: pms 5.2.2008, 16:01
Я пересоздовал таблицу с кодировкой утф8 (CHARACTER SET utf8). Пытался узнать у сервера кодировку созданной таблицы (SHOW TABLE STATUS) - он мне возвращает все, кроме кодировки. Проблема остается. В чем же проблема? smile

Добавлено через 6 минут и 35 секунд
Цитата(skyboy @  5.2.2008,  15:45 Найти цитируемый пост)
не уверен, что поможет(не пробовал - нет такой старой MySQL), но, согласно мануалуhttp://dev.mysql.com/doc/refman/4.1/en/charset-connection.html:Цитата(dev.mysql.com)A SET NAMES 'x' statement is equivalent to these three statements: SET character_set_client = x;SET character_set_results = x;SET character_set_connection = x;А уж эти переменные должны быть и в 4.0.1, как мне кажется...


Таких переменных нет. Вам кажется smile

Автор: GeneralElectric 5.2.2008, 17:02
Цитата(pms @  5.2.2008,  16:01 Найти цитируемый пост)
Я пересоздовал таблицу с кодировкой утф8 (CHARACTER SET utf8). 

Таких переменных нет. Вам кажется

Автор: pms 5.2.2008, 17:18
Код

SHOW VARIABLES LIKE "%character_set%";

Возвращает
character_set
character_sets
convert_character_set


А переменных

"character_set_client
character_set_results
character_set_connection"

действительно нет.

Автор: pms 6.2.2008, 15:45
Решилась трабла. Оказывается нужно было кодировку собственно скрипта для импорта данных поменять на utf8. smile 
Экспиренс, экспиренс.... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)