mysql и cp1251
Hi all!
Вопрос избитый, но я так и не понял как.
Ситуация:
gentoo локализован на KOI8-R.
-----------------------------
/etc/rc.conf:
UNICODE="no"
CONSOLEFONT="cp866-8x16"
KEYMAP="ru4"
CONSOLETRANSLATION="koi2alt"
-----------------------------
-----------------------------
/etc/env.d/02locale
LANG="ru_RU.KOI8-R"
-----------------------------
В mysql все переменные, связанные с кодировкой установлены в cp1251. Кроме:
-------
my.cnf:
[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
---------
Это сделано, чтобы люди в сети, под управлением windows, с помощью своих mysql-клиентов (типа Mysql-front, ems, etc), могли править ЧИТАЕМЫЙ текст + нужно для сортировки русского текста.
Это работает.
А если данные из БД берутся с этого же сервака, например php или perl-ом, то выглядит это вот так: ??????????? (все знаки вопроса). И apache выдает соответственно также. Т.е. php asd.php и http://server.domain.ru/asd.php выдают одинаково.
Если же в mysql зайти консолью и сделать select по полю, где есть русские слова, то выдает по-русски.
Как избавиться от "???????????????" ? ;)
Спасибо заранее.
P.S. phpmyadmin не предлагать.
- Для комментирования войдите или зарегистрируйтесь
Re
Пробуй выставить кодировку для соединения....
Работает, но...
Спасибо! Работает!
Но можно как-нибудь сделать это один раз и забыть? А то у меня куча скриптов разных, переделывать не хочется.
Вроде как через
Вроде как через PMA такое можно было настроить. А что и где оно прописывет я не знаю.
init-connect или
init-connect или что-то такое ищи в документации к mysql.
Да.
Спасибо всем. Вылечилось.
[mysqld]
skip-character-set-client-handshake
init_connect='SET NAMES cp1251'
Тогда топик в
Тогда топик в силе.
Жду. Вот например у одного хостера, стоит freeBSD, и у него именно так, как я хочу. Устанавливать кодировку на соединение не нужно.