Страница 1 из 1
PHP MySQL клиент
Добавлено: 2009-02-17 12:04:35
Hazzard
В общем беда. В общем по сути:
Если подключаться через шелл к серваку (mysql -u root) то
Код: Выделить всё
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | cp1251 |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | cp1251 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
а если через пхп то
Код: Выделить всё
character_set_client latin1
character_set_connection latin1
character_set_database cp1251
character_set_filesystem binary
character_set_results latin1
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Помогает но только на время этой сессии, а надо чтобы на весь сервер действовало...
вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
Re: PHP MySQL клиент
Добавлено: 2009-02-17 13:22:12
MAK
вызови SET NAMES везде, сразу после коннекта к бд.
Re: PHP MySQL клиент
Добавлено: 2009-02-17 13:56:08
Hazzard
MAK писал(а):вызови SET NAMES везде, сразу после коннекта к бд.
читайте внимательно пост..
Re: PHP MySQL клиент
Добавлено: 2009-02-17 15:10:13
zg
Hazzard писал(а):вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
http://anton-pribora.ru/articles/mysql/ ... rset-mycnf Код: Выделить всё
---- Файл my.cnf
[client]
# Для местного клиента
default-character-set=cp1251
....
[mysqld]
# Для всего сервера
default-character-set=cp1251
....
Re: PHP MySQL клиент
Добавлено: 2009-02-17 17:16:52
Hazzard
zg писал(а):Hazzard писал(а):вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
http://anton-pribora.ru/articles/mysql/ ... rset-mycnf Код: Выделить всё
---- Файл my.cnf
[client]
# Для местного клиента
default-character-set=cp1251
....
[mysqld]
# Для всего сервера
default-character-set=cp1251
....
гуглить меня мама в детстве научила ... так что это всё было давно испробовано (точно также как инит_коннект и инит-коннект)
помогает это тока при работе через шелл ...
Re: PHP MySQL клиент
Добавлено: 2009-02-17 17:25:28
zg
Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)
Re: PHP MySQL клиент
Добавлено: 2009-02-17 17:26:37
Hazzard
zg писал(а):Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)
Уважаемый, не стоит перегибать палку - не работает это.
Re: PHP MySQL клиент
Добавлено: 2009-02-17 17:30:36
zg
Hazzard писал(а):Уважаемый, не стоит перегибать палку
гм... читать-то не?
Hazzard писал(а):не работает это
работает
Re: PHP MySQL клиент
Добавлено: 2009-02-17 18:24:23
MAK
*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.
Re: PHP MySQL клиент
Добавлено: 2009-02-17 21:41:50
Hazzard
MAK писал(а):*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.
Пробовал добавлять такие и подобные таким строкам во все разделы конфига поочерёдно и вместе, пробовал добовлять комманды типа инит_коннект (и аналогичные) пробовал менять пользователя для подключения к бд из пхп (такой совет тоже гдето вычитал), пробовал полностью пересоздавать базу, таблицу.. пробовал копаться в конфигах апача и пхп (ничё толком не нашол) пробовал ещё много маловразумительных советов, ничего не помогает. Через консоль всё гуд, через пхп тока Сет Неймс...
Re: PHP MySQL клиент
Добавлено: 2009-02-18 0:47:27
voider
Re: PHP MySQL клиент
Добавлено: 2009-02-18 1:03:24
Hazzard
топик читал, проблема схожая, решение такое не подходит (опятьже читайте топик внимательней) нужно прописать так чтобы для любого скрипта уже самопо себе было выставленно Set Names cp1251;
Re: PHP MySQL клиент
Добавлено: 2009-02-18 1:04:50
voider
а почему у меня подошло? перезагрузку делал?
Re: PHP MySQL клиент
Добавлено: 2009-02-18 1:10:53
voider
обрати внимание
Код: Выделить всё
basedir /usr/local/mysql-5.0.22-freebsd6.0-i386/
binlog cache size 32,768
bulk insert buffer size 8,388,608
character set client utf8
(Global value) cp1251
character set connection utf8
(Global value) cp1251
character set database cp1251
character set filesystem binary
character set results utf8
(Global value) cp1251
character set server cp1251
character set system utf8
character sets dir /usr/local/mysql-5.0.22-freebsd6.0-i386/share/mysql/charsets/
collation connection utf8_unicode_ci
(Global value) cp1251_general_ci
collation database cp1251_general_ci
(Global value) если есть такая штука значит типа она говорит какое глобальное значение если не совпадает ,а если вопаадет то ничего не пишет
Re: PHP MySQL клиент
Добавлено: 2009-02-18 1:13:06
voider
может ошибся в пунктуации

)) бывает:)
Re: PHP MySQL клиент
Добавлено: 2009-02-18 3:02:33
Hazzard
всё в общем то хорошо тока я забыл указать что это под Debian надо ...
Re: PHP MySQL клиент
Добавлено: 2009-02-18 3:06:17
zingel
а чего сразу не сказал, тему нужно в *линукс*
Re: PHP MySQL клиент
Добавлено: 2009-02-18 5:17:09
voider
Re: PHP MySQL клиент
Добавлено: 2009-02-18 21:09:45
Hazzard
посоветуйте чтонить дельное, уже не знаю что попробовать ...
Re: PHP MySQL клиент
Добавлено: 2009-02-18 22:23:01
zg
Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает
Re: PHP MySQL клиент
Добавлено: 2009-02-19 11:35:35
Hazzard
zg писал(а):Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает
В общем ты отчасти был прав ... методом перебора была найдена та комбинация строк в конфиге (раздел [mysqld]) чтобы всё было как надо .. приду с работы - выложу код.
Re: PHP MySQL клиент
Добавлено: 2009-02-19 12:05:15
zg
Hazzard писал(а):В общем ты отчасти был прав
там суть в том, что есть глобальные настройки для сервера и настройки для сессии, в которой работает клиент. Настройки для сессии по умолчанию берутся из глобальных настроек, но при этом могут меняться по запросу клиента.
Код: Выделить всё
mysql> select @@global.character_set_connection, @@session.character_set_connection;
+-----------------------------------+------------------------------------+
| @@global.character_set_connection | @@session.character_set_connection |
+-----------------------------------+------------------------------------+
| latin1 | latin1 |
+-----------------------------------+------------------------------------+
1 row in set (0.00 sec)
mysql> set names 'koi8r';
Query OK, 0 rows affected (0.00 sec)
mysql> select @@global.character_set_connection, @@session.character_set_connection;
+-----------------------------------+------------------------------------+
| @@global.character_set_connection | @@session.character_set_connection |
+-----------------------------------+------------------------------------+
| latin1 | koi8r |
+-----------------------------------+------------------------------------+
1 row in set (0.00 sec)
mysql>
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.
Re: PHP MySQL клиент
Добавлено: 2009-02-19 12:10:54
Hazzard
zg писал(а):...
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.
так и делал, просто нигде не нашол информации о том чтоже всётаки туда писать ...
Re: PHP MySQL клиент
Добавлено: 2009-02-19 12:53:18
zg
туда пишутся параметры для запуска, например
Код: Выделить всё
zg# mysql -e 'show variables like "char%";'
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | koi8r |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | koi8r |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
zg# cat /etc/my.cnf
[mysqld]
character-set-server=koi8r
zg#
или так
Код: Выделить всё
zg# cat /etc/my.cnf
[mysqld]
default-character-set=koi8r
init-connect = "set names koi8r"
skip-character-set-client-handshake
zg# mysql -e 'show variables like "char%";'
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | koi8r |
| character_set_connection | koi8r |
| character_set_database | koi8r |
| character_set_filesystem | binary |
| character_set_results | koi8r |
| character_set_server | koi8r |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
zg# mysql -e 'set names "cp1251"; show variables like "char%";'
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | koi8r |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | koi8r |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
zg#
в любом случае всё работает -)
Код: Выделить всё
zg# mysql -e 'set names "cp1251"; select @@global.character_set_client, @@session.character_set_client;'
+-------------------------------+--------------------------------+
| @@global.character_set_client | @@session.character_set_client |
+-------------------------------+--------------------------------+
| koi8r | cp1251 |
+-------------------------------+--------------------------------+
zg#