1

Тема: phpmyadmin почему-то всегда работает в utf

Добрый день

Сразу оговорюсь, перелопатил форум как сумел, раздел статьи прочитал от корки до корки. Во многом помогло, но не во всем.
А именно, phpmyadmin постоянно работает в utf8. Что бы я ни выбирал при входе (pma 2.10.2, авторизация на куках). Захожу не под рутом.

Если же выполнить запрос
[mono]SET NAMES cp1251;
show variables;[/mono]

То получаю следующее:
[mono]character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_results cp1251
character_set_server cp1251 [/mono]

То есть все хорошо, но если зайти в системные переменные, то вижу следующее (всегда)
[mono]character set client utf8
(Глобальное значение) cp1251
character set connection cp1251
character set database cp1251
character set results utf8
(Глобальное значение) cp1251 [/mono]

В инициализацию SET NAMES cp1251 прописано. Более того, из самого PHP клиентская кодировка абсолютно нормальна, проверял так:
[mono]mysql_connect("localhost", "login", "pass");
$sql = mysql_query("SHOW VARIABLES LIKE 'character_set_client'");
while($var = mysql_fetch_object($sql)) print_r($var);[/mono]

Собственно, проблема в том, что из ПМА теперь невозможно делать дампы, все они выходят в ютф.

Заранее благодарю.

2

Re: phpmyadmin почему-то всегда работает в utf

oxygen
То что вы прочли раздел "Статьи" - это хорошо. Теперь осталось только прочитать раздел "Документация". smile

Конфигурирование phpMyAdmin
Посмотрите описание данной конфигурационной директивы.
$cfg['AllowAnywhereRecoding']

3 (изменено: oxygen, 2007-06-26 16:29:30)

Re: phpmyadmin почему-то всегда работает в utf

Hanut сказал:

oxygen
То что вы прочли раздел "Статьи" - это хорошо. Теперь осталось только прочитать раздел "Документация".

Конфигурирование phpMyAdmin
Посмотрите описание данной конфигурационной директивы.
$cfg['AllowAnywhereRecoding']

Спасибо за оперативный ответ. Я конечно понимаю, "Если ничего не помогает, то прочтите наконец инструкцию" (с) Аксиома Кана smile, но

Вот кусок config.inc.php
[mono]$cfg['AllowAnywhereRecoding'] = true;
$cfg['DefaultCharset'] = 'windows-1251';
$cfg['RecodingEngine'] = 'auto';[/mono]

Пока что всё те же арбузы, только вид сбоку.

4

Re: phpmyadmin почему-то всегда работает в utf

oxygen
На странице экспорта появилось выпадающее меню с выбором кодировок?

5

Re: phpmyadmin почему-то всегда работает в utf

Hanut сказал:

oxygen
На странице экспорта появилось выпадающее меню с выбором кодировок?

Да

6

Re: phpmyadmin почему-то всегда работает в utf

oxygen сказал:
Hanut сказал:

oxygen
На странице экспорта появилось выпадающее меню с выбором кодировок?

Да

Здравствуйте,
А как сделать, чтобы в этом меню по умолчанию была кодировка win-1251, а не utf-8?
Думалось, что именно установка параметра $cfg['DefaultCharset'] = 'windows-1251';
влияет на это. Но похоже это не так. По крайней мере у меня. Или на что тогда влияет $cfg['DefaultCharset']? Ведь возможные для него значения выбираются из $cfg['AvailableCharsets'], которые и присутствуют в выпадающем меню на странице импорта/экспорта.

7

Re: phpmyadmin почему-то всегда работает в utf

alex_s
$cfg['Export']['charset'] = 'windows-1251';
Этой директивой можно установить изначальную кодироку на странице экспорта.

К сожалению сейчас есть путаница в скрипте с использованием $cfg['DefaultCharset']. Буду писать разработчикам. Спасибо за указание на ошибку.

8

Re: phpmyadmin почему-то всегда работает в utf

Hanut сказал:

alex_s
$cfg['Export']['charset'] = 'windows-1251';
Этой директивой можно установить изначальную кодироку на странице экспорта.

К сожалению сейчас есть путаница в скрипте с использованием $cfg['DefaultCharset']. Буду писать разработчикам. Спасибо за указание на ошибку.

Спасибо за ответ. Да, действительно, в \libraries\config.default.php эта директива $cfg['Export']['charset'] = ' ';
и я добавил в config.inc.php $cfg['Export']['charset'] = 'windows-1251';
Думал есть такое же для импорта, т.е. $cfg['Import']['charset']. Ан нет. Нету. Более того, оказывается в \libraries\display_export.lib.php и \libraries\display_import.lib.php куски кода по выводу выпадающего меню с кодировками (по сути должны быть почти одинаковы) - отличаются. Видимо разные люди писали. Т.е. в display_import.lib.php не используется директива типа $cfg['Import']['charset']. Возможно в 3-й бета версии исправили.
Что ж, и мы поправим smile
Да, и спасибо вам за поддержку pMA в России.

9

Re: phpmyadmin почему-то всегда работает в utf

Благодаря помощи alex_s, исправление вывода изначальной кодировки на страницах импорта/экспорта, в phpMyAdmin 3.0.0-rc1, несколько исправлено.

В документации теперь более точно описано, что директива $cfg['DefaultCharset'] устанавливает кодировку для перекодирования содержимого SQL запроса, а за изначальлно выбранную кодировку на странице экспорта отвечает директива $cfg['Export']['charset'].

http://sourceforge.net/tracker/index.ph … tid=377408

10

Re: phpmyadmin почему-то всегда работает в utf

Создан запрос на внесение конфигурационной директивы $cfg['Import']['charset'], устанавливающей изначально выбранную кодировку на странице импорта.
https://sourceforge.net/tracker/index.p … tid=377411