Большой Воронежский Форум
» Программирование>MySQL кодировка
-=Женек=- 11:05 22.04.2008
Господи, ну неужели я так много хочу?
Ну почему в Mysql 4 и phpmyadmin какой-то версии, предшествовашей 2.11 все было автоматом правильно настроено?
А в MySQL 5 и русской (!) версии phpmyadmin 2.11.5 все через ж...?

Господа! Хочу чтобы русский текст отображался по русски и в загружаемой странице и через phpmyadmin, хочу чтобы русский текст вводимый через SQL запрос в phpmyadmin записывался в базу так, чтобы он отображался по русски и в загружаемой странице и через phpmyadmin.

Исходные данные:
MySQL 5.1.22

программа администрирования - MySQL Administrator - во вкладке Startup Variables -> Advanced в графе Def.Char set значится cp1251. Тип таблиц InnoDB. Может надо MyISAM?

Далее грузим phpMyAdmin 2.11.5 dev

Вот что на главной странице:

MySQL-кодировка: UTF-8 Unicode (utf8) (не подлежит редактированию)
Сопоставление соединения с MySQL: cp_1251_bin (подлежит редактирвоанию)


Создаем базу - спрашивает название и "сравнение". ЧТо надо писать в "сравнение"?

Создаем таблицу.
Создаем поле - спрашивает "сравннение". Что писать?
Предлагает выбрать между INNODB (по умлочанию) - что выбрать?
Потом опять просит выбрать сравнение. Почему два раза? что писать?

В тэге META загружаемой страницы кодирова установлена как windows-1251




P.S. Если создаю поле varchar, то русский текст в phpmyadmin отображатеся нормально, вообще в ходе экспериментов он всегда в phpmyadmin отображался нормально. В загружаемой странице же знаки вопроса.

Если же поле TEXT - то после записи в таблице оказывается "BLOB 32 байта". Пробовал вставлять таблицы из предыдущих версий mysql - в загружаемой странице все ОК, в pHPyadmin - корявость.


Помогите, заранее благодарен. [Ответ]
Freeeze 11:46 22.04.2008
А с какой аккаунт используете для phpmyadmin'а? Не root случаем? [Ответ]
-=Женек=- 15:54 22.04.2008
И root и созданного пользователя.

Что интересно - что бы я не выбирал в качестве кодировки в самом MySQL 5 - в phpmyAdmin пишет "MySQL-кодировка: UTF-8 Unicode (utf8) "

И где язык - Russian "(utf8)" И выбрать не из чего - все языки UTF8.

Та же версия PhpMyAdmin подсоединяющаяся в 4 версии MySQL использует windows 1251, а при создании таблиц даже не заморачивается насчет "сравнения". [Ответ]
-=Женек=- 17:00 22.04.2008
Знаете, сейчас плюнул на phpMyAdmin, вставил пару строк, добавляющих в таблицу текст. Так вот если писать русский текст - он не добавляется.

Вот так

Сообщение от :
$query=mysql_query("INSERT INTO advices SET advice='еханый_бабай'", $GLOBALS['connection']);
print $query;

print $query в случае латиницы выводит на экран "1", в случае русского текста - ничего не выводит. [Ответ]
-=Женек=- 17:17 22.04.2008
Хм..

добавка в начале скрипта строки mysql_query('SET NAMES cp1251'); решила проблему.
Но неужели нет более радикального средства? [Ответ]
Вверх