1

Тема: Настройки на сервере, не правильное отображение?

Ось
freebsd 7.2

MySQL
Версия mysql-сервера: 5.1.38-log
Версия протокола: 10
MySQL-кодировка: UTF-8 Unicode (utf8)

Веб-сервер
Apache
Версия MySQL-клиента: 5.1.36
PHP расширение: mysql

phpMyAdmin
Информация о версии: 3.2.1


Захожу в закладку "Переменные"

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
character sets dir    /usr/local/share/mysql/charsets/
collation connection    utf8_unicode_ci
(Глобальное значение)    utf8_general_ci

collation database    utf8_unicode_ci
collation server                utf8_unicode_ci

Делаю запрос через вкладку "SQL":
SHOW VARIABLES;

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
character_sets_dir    /usr/local/share/mysql/charsets/
collation_connection    utf8_unicode_ci
collation_database    utf8_unicode_ci
collation_server    utf8_unicode_ci

в чем проблема ?

2

Re: Настройки на сервере, не правильное отображение?

hid4msk
На главной phpMyAdmin выбирается сравнение, которое и указывается в сессионных переменных.

SHOW GLOBAL VARIABLES;
Этот запрос покажет вам глобальные значения переменных.

3

Re: Настройки на сервере, не правильное отображение?

Re Hanut
в том то и дело, что на сервере как глобальное значение указано utf8_unicode_ci, что видно из запроса SHOW GLOBAL VARIABLES;
а phpMyAdmin показывает что глобальное utf8_general_ci
вот я и спросил, куда рыть и кто виноват?
p.s: просьба внимательнее читать, я же даже цветом пометил smile

4

Re: Настройки на сервере, не правильное отображение?

hid4msk
Глобальное значение у вас utf8_general_ci, а сессионное (выставленное на главной phpMyAdmin) utf8_unicode_ci. Не вижу расхождений.

Запрос SHOW VARIABLES; выводит сессионные значения переменных.

Покажите вывод запроса SHOW GLOBAL VARIABLES;

5

Re: Настройки на сервере, не правильное отображение?

Попробывал поправить дело так:

mysql> SET GLOBAL collation_connection=utf8_unicode_ci;
Query OK, 0 rows affected (0.00 sec)

Вроде пишет что затронуто 0 строк, и поменялось кстати не с первого раза вроде, но поменялось... )) Так что сейчас порядок...

Hanut сказал:

hid4mskПокажите вывод запроса SHOW GLOBAL VARIABLES;

Искренне прошу у Вас прощения smile Это я был недостаточно внимателен... Спасибо Вам Hanut за ответы в данном топике.

6 (изменено: roga_i_kopita, 2010-06-19 13:41:39)

Re: Настройки на сервере, не правильное отображение?

Hanut сказал:

hid4msk
Глобальное значение у вас utf8_general_ci, а сессионное (выставленное на главной phpMyAdmin) utf8_unicode_ci. Не вижу расхождений.

Здравствуйте.

Скажите, а на сколько вообще критична эта разница? И почему она вообще появляется? И на что влияет?
Вот у меня тоже самое расхождение:
collation connection    utf8_unicode_ci
(Глобальное значение)    utf8_general_ci

В my.cnf
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
skip-character-set-client-handshake

Дописывание в секцию [client]
default_character_set=utf8_general_ci
ничего не меняет.

Из документации по mysql ответ на вопрос, что, как и почему влияет на сессионное значение collation_connection не нашёл.

7

Re: Настройки на сервере, не правильное отображение?

roga_i_kopita
Сессионное значение collation connection    utf8_unicode_ci - это сравнение выставленное на главной phpMyAdmin. Влияет это сравнение на поиск с помощью phpMyAdmin. То есть, если вам необходимо осуществить точный поиск в таблице имеющей сравнение utf8_general_ci, то на главной phpMyAdmin необходимо выбрать именно его. Сессионное значение относится только к работе скрипта phpMyAdmin и никак не влияет на работу MySQL в целом.