MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
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/
Помогает но только на время этой сессии, а надо чтобы на весь сервер действовало...
вопрос - что делать? надо чтобы в пхп было как в первом случае иначе пхп и пишет и получает данные из базы вопросами ...
Debian, php/mysql и другой бред...
Hazzard
-
Хостинг HostFood.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
Непрочитанное сообщение
MAK » 2009-02-17 13:22:12
вызови SET NAMES везде, сразу после коннекта к бд.
MAK
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-17 13:56:08
MAK писал(а):вызови SET NAMES везде, сразу после коннекта к бд.
читайте внимательно пост..
Debian, php/mysql и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
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
....
zg
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
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 и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-02-17 17:25:28
Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)
zg
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-17 17:26:37
zg писал(а):Hazzard писал(а):гуглить меня мама в детстве научила ...
жаль, что не научила читать
Hazzard писал(а):помогает это тока при работе через шелл ...
это судьба... всех, кто не умеет читать и думать, хотя бы иногда.... -)
Уважаемый, не стоит перегибать палку - не работает это.
Debian, php/mysql и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-02-17 17:30:36
Hazzard писал(а):Уважаемый, не стоит перегибать палку
гм... читать-то не?
Hazzard писал(а):не работает это
работает
zg
-
MAK
- ст. сержант
- Сообщения: 344
- Зарегистрирован: 2008-09-17 2:23:21
Непрочитанное сообщение
MAK » 2009-02-17 18:24:23
*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.
MAK
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-17 21:41:50
MAK писал(а):*с серьезным видом*
Hazzard, укажите, пожалуйста по пунктам, какими методами вы пытались решить проблему.
Пробовал добавлять такие и подобные таким строкам во все разделы конфига поочерёдно и вместе, пробовал добовлять комманды типа инит_коннект (и аналогичные) пробовал менять пользователя для подключения к бд из пхп (такой совет тоже гдето вычитал), пробовал полностью пересоздавать базу, таблицу.. пробовал копаться в конфигах апача и пхп (ничё толком не нашол) пробовал ещё много маловразумительных советов, ничего не помогает. Через консоль всё гуд, через пхп тока Сет Неймс...
Debian, php/mysql и другой бред...
Hazzard
-
voider
- лейтенант
- Сообщения: 830
- Зарегистрирован: 2008-02-21 20:35:03
- Откуда: msk
voider
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-18 1:03:24
топик читал, проблема схожая, решение такое не подходит (опятьже читайте топик внимательней) нужно прописать так чтобы для любого скрипта уже самопо себе было выставленно Set Names cp1251;
Debian, php/mysql и другой бред...
Hazzard
-
voider
- лейтенант
- Сообщения: 830
- Зарегистрирован: 2008-02-21 20:35:03
- Откуда: msk
Непрочитанное сообщение
voider » 2009-02-18 1:04:50
а почему у меня подошло? перезагрузку делал?
voider
-
voider
- лейтенант
- Сообщения: 830
- Зарегистрирован: 2008-02-21 20:35:03
- Откуда: msk
Непрочитанное сообщение
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
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-18 3:02:33
всё в общем то хорошо тока я забыл указать что это под Debian надо ...
Debian, php/mysql и другой бред...
Hazzard
-
zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
-
Контактная информация:
Непрочитанное сообщение
zingel » 2009-02-18 3:06:17
а чего сразу не сказал, тему нужно в *линукс*
Z301171463546 - можно пожертвовать мне денег
zingel
-
voider
- лейтенант
- Сообщения: 830
- Зарегистрирован: 2008-02-21 20:35:03
- Откуда: msk
voider
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-18 21:09:45
посоветуйте чтонить дельное, уже не знаю что попробовать ...
Debian, php/mysql и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-02-18 22:23:01
Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает
zg
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-19 11:35:35
zg писал(а):Hazzard писал(а):посоветуйте чтонить дельное
читать и думать, всегда помогает
В общем ты отчасти был прав ... методом перебора была найдена та комбинация строк в конфиге (раздел [mysqld]) чтобы всё было как надо .. приду с работы - выложу код.
Debian, php/mysql и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
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>
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.
zg
-
Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
-
Контактная информация:
Непрочитанное сообщение
Hazzard » 2009-02-19 12:10:54
zg писал(а):...
поэтому ты в первую очередь должен был смотреть на переменные сервера, а потом на переменные сессии.
так и делал, просто нигде не нашол информации о том чтоже всётаки туда писать ...
Debian, php/mysql и другой бред...
Hazzard
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
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#
zg