PHP MySQL клиент

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-17 12:04:35

В общем беда. В общем по сути:

Если подключаться через шелл к серваку (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/

Код: Выделить всё

SET NAMES cp1251;
Помогает но только на время этой сессии, а надо чтобы на весь сервер действовало...



вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
Debian, php/mysql и другой бред...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: PHP MySQL клиент

Непрочитанное сообщение MAK » 2009-02-17 13:22:12

вызови SET NAMES везде, сразу после коннекта к бд.

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-17 13:56:08

MAK писал(а):вызови SET NAMES везде, сразу после коннекта к бд.
читайте внимательно пост..
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-17 15:10:13

Hazzard писал(а):вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
http://anton-pribora.ru/articles/mysql/ ... rset-mycnf

Код: Выделить всё

---- Файл my.cnf
[client]
# Для местного клиента
default-character-set=cp1251
....

[mysqld]
# Для всего сервера
default-character-set=cp1251
....

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-17 17:16:52

zg писал(а):
Hazzard писал(а):вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
http://anton-pribora.ru/articles/mysql/ ... rset-mycnf

Код: Выделить всё

---- Файл my.cnf
[client]
# Для местного клиента
default-character-set=cp1251
....

[mysqld]
# Для всего сервера
default-character-set=cp1251
....

гуглить меня мама в детстве научила ... так что это всё было давно испробовано (точно также как инит_коннект и инит-коннект)
помогает это тока при работе через шелл ...
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-17 17:25:28

Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать :cf:
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-17 17:26:37

zg писал(а):
Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать :cf:
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)
Уважаемый, не стоит перегибать палку - не работает это.
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-17 17:30:36

Hazzard писал(а):Уважаемый, не стоит перегибать палку
гм... читать-то не?
Hazzard писал(а):не работает это
работает

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: PHP MySQL клиент

Непрочитанное сообщение MAK » 2009-02-17 18:24:23

*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-17 21:41:50

MAK писал(а):*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.
Пробовал добавлять такие и подобные таким строкам во все разделы конфига поочерёдно и вместе, пробовал добовлять комманды типа инит_коннект (и аналогичные) пробовал менять пользователя для подключения к бд из пхп (такой совет тоже гдето вычитал), пробовал полностью пересоздавать базу, таблицу.. пробовал копаться в конфигах апача и пхп (ничё толком не нашол) пробовал ещё много маловразумительных советов, ничего не помогает. Через консоль всё гуд, через пхп тока Сет Неймс...
Debian, php/mysql и другой бред...

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: PHP MySQL клиент

Непрочитанное сообщение voider » 2009-02-18 0:47:27

2 Hazard я только недавна с этим мучался :)
читай
http://forum.lissyara.su/viewtopic.php?f=11&t=14928

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-18 1:03:24

voider писал(а):2 Hazard я только недавна с этим мучался :)
читай
http://forum.lissyara.su/viewtopic.php?f=11&t=14928
топик читал, проблема схожая, решение такое не подходит (опятьже читайте топик внимательней) нужно прописать так чтобы для любого скрипта уже самопо себе было выставленно Set Names cp1251;
Debian, php/mysql и другой бред...

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: PHP MySQL клиент

Непрочитанное сообщение voider » 2009-02-18 1:04:50

а почему у меня подошло? перезагрузку делал?

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: PHP MySQL клиент

Непрочитанное сообщение voider » 2009-02-18 1:10:53

обрати внимание

Код: Выделить всё

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) если есть такая штука значит типа она говорит какое глобальное значение если не совпадает ,а если вопаадет то ничего не пишет

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: PHP MySQL клиент

Непрочитанное сообщение voider » 2009-02-18 1:13:06

может ошибся в пунктуации :))) бывает:)

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-18 3:02:33

всё в общем то хорошо тока я забыл указать что это под Debian надо ...
Debian, php/mysql и другой бред...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение zingel » 2009-02-18 3:06:17

а чего сразу не сказал, тему нужно в *линукс*
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: PHP MySQL клиент

Непрочитанное сообщение voider » 2009-02-18 5:17:09

8)

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-18 21:09:45

посоветуйте чтонить дельное, уже не знаю что попробовать ...
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-18 22:23:01

Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-19 11:35:35

zg писал(а):
Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает
В общем ты отчасти был прав ... методом перебора была найдена та комбинация строк в конфиге (раздел [mysqld]) чтобы всё было как надо .. приду с работы - выложу код.
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-19 12:05:15

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>
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: PHP MySQL клиент

Непрочитанное сообщение Hazzard » 2009-02-19 12:10:54

zg писал(а):...
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.
так и делал, просто нигде не нашол информации о том чтоже всётаки туда писать ...
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: PHP MySQL клиент

Непрочитанное сообщение zg » 2009-02-19 12:53:18

туда пишутся параметры для запуска, например

Код: Выделить всё

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#