PDA



bigmir)net TOP 100

Посмотреть полную версию : phpmyadmin - проблема с кодировкой


gnum
09-09-2006, 09:35
Такая ситуация:

Хостинг. Терминального доступа нет, панели управления хостингом нет (все параметры включаются/выключаются через поддержку). Есть доступ через web и по ftp.

База mysql (v. 4.1.15), работа с базой ведётся в кодировке 1251. Захожу через phpmyadmin (v. 2.8.1). Он показывает все страницы в кодировке UTF-8, в результате данные из базы имеют вид крякозябров. Попытка сменить кодировку в браузере - ничего не даёт. Теперь и текст phpmyadmin выдаётся загогулинами и информация из базы крякозябрами.

На стартовой странице меню выбора языков, но не кодировок.

Внимание, вопрос: как заставить phpmyadmin показывать (и принимать!) данные в нужной мне кодировке?

:плачу:

HACKER
09-09-2006, 20:07
1) При создание таблицы/столбца можно указывать кодировки, вот пример запроса:

$sql = "
CREATE TABLE `".$Table."` (
`id` smallint(6) NOT NULL auto_increment,
`tema` tinytext character set latin1 collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='".$Comment."' AUTO_INCREMENT=1 ;
";

2) см. php фцию convert_cyr_string

3em
11-09-2006, 10:23
а в моем майадмине выбирается кодировка! попробуй другую версию...

gnum
11-09-2006, 11:50
а в моем майадмине выбирается кодировка! попробуй другую версию...

А какая версия у тебя?

В любом случае, решил проблему перекодированием базы и соотв. скриптов в utf8.

3em
11-09-2006, 12:00
2.6.1 , которая с Денвером шла :)))) а вообще, имхо, в конфиге пунктик должен быть..

gnum
11-09-2006, 12:01
2.6.1 , которая с Денвером шла :)))) а вообще, имхо, в конфиге пунктик должен быть..

Ага. Я игрался с ними. Что-то это не дало результата.

...:::Alex:::...
11-09-2006, 19:07
Ага. Я игрался с ними. Что-то это не дало результата.У меня тож. Только записую значение - получается ?????????????? Какая должна быть кодировка?

Sturgis
25-09-2006, 09:28
При выводе в браузер "????"? UTF-8.

Lucifier
25-09-2006, 10:34
Вообщем смотрите, обьясняю:
Если в базе utf8, то при дампе из cp1251 нужно в .sql файле так писать:
CREATE TABLE `table name` (
`ID` int(11) NOT NULL auto_increment,
KEY `CUSTOMERID` (`CustomerID`)
) DEFAULT CHARSET=utf8;
Обратите внимание на "DEFAULT CHARSET=utf8", затем в скрипте который берёт у вас данные из базы находим такую строчку:
mysql_query();
после него добавляем: mysql_query("SET NAMES cp1251");
И у вас начинает нормально отображатся кодировка! У меня всегда срабатывало, ещё ни разу не подводило....