MySQL vs. cp1251
Гость 4 ноября, 2005 - 15:13
Вообщем не хочет MySQL понимать кириллицу....
Внизу привожу конфиг MySQL my.chf
/etc/mysql/my.cnf: The global mysql configuration file. # $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-4.1,v 1.2 2005/07/26 17:14:23 vivo Exp $ # The following options will be passed to all MySQL clients [client] #password = port = 3306 socket = /var/run/mysqld/mysqld.sock [mysql] character-sets-dir=/usr/share/mysql/charsets/ default-character-set=cp1251 [mysqladmin] character-sets-dir=cp1251 default-character-set=cp1251 [mysqlcheck] character-sets-dir=cp1251 default-character-set=cp1251 [mysqldump] character-sets-dir=cp1251 default-character-set=cp1251 [mysqlimport] character-sets-dir=cp1251 default-character-set=cp1251 [mysqlshow] character-sets-dir=cp1251 default-character-set=cp1251 [myisamchk] character-sets-dir=cp1251 [myisampack] character-sets-dir=cp1251 # use [safe_mysqld] with mysql-3 [mysqld_safe] err-log = /var/log/mysql/mysql.err # add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations. [mysqld] character-set-server = cp1251 default-character-set = cp1251 [skipped] [/skipped]
Еще при выполнении команды mysqlshow пишет такие ругательства:
mysqlshow: Character set 'cp1251' is not a compiled character set and is not specified in the 'cp1251/Index.xml' file mysqlshow: Can't initialize character set cp1251 (path: cp1251/
"Начальная установка" - emerge mysql
Где собственно грабли?
Заранее благодарен.
»
- Для комментирования войдите или зарегистрируйтесь
Re: MySQL vs. cp1251
Создай групу, настрой там кодировку, при подключении указую юзать групу.....и мускул автоматом выдаст так как ты хочешь...
Кстати а локаль ru_RU.CP1251 у тебя есть ? А поддержка в ядре есть ?
Проще всего
Проще всего собрать MySQL только c кодировкой cp1251
и не париться.
Да и конфиг поменьше станет.
Re: Проще всего
А не проще разобратся, и юзать так как тебе нравится, чем постоянно перекомпиливать, если понадобится переходить на другие кодировки.
Re: MySQL vs. cp1251
У меня была похожая проблема, при импорте и выполнении sql с русским текстом, вместо русского - вопросики. (на xml файлы не ругался)
решилась добавлением в конфиг:
character_set_client=cp1251
может поможет.
короче уже есть
короче уже есть заполненная база
скачал php.myadmin 2.7.0 и он говорит что поля заполненны в latin1_swedish_ci
причем все открывается в русском.
Проблема в том, что поля не сортируются в русском порядке: а, б, в...
Меняю на другой язык и все превращается в вопросики.
Все что описано выше уже сделал.
а попробуйте
попробуйте сделать дамп командой mysqldump указав кодировку в которой надо дампить. потом откройте дамп. если не читается в той кодировке что есть - то через iconv перевести в нужную после чего опять залить обратно подправив соответсвующие строки создания базы...
+1 Правил кодировку базы по
+1
Правил кодировку базы по такому сценарию около года назад, подтверждаю - все работает.
Весь процесс занимает буквально пять минут.
Столкнулся с такой же
Столкнулся с такой же проблемой, конфиг впринцепе такойже как и в первом посте, перепробовал еще кучу разных вариаций, но так и не смог нормально засунуть дамп в cp1251 кодировке, вместо русских букв льются знаки вопроса,
SHOW VARIABLES LIKE 'char%' выдает следующее
character_set_client utf8
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
тоесть еще 3 переменных стоят в utf8, и не в какую не хотят менятся на cp1251,
на старом серваке разваливается рэйд, подготовил новый а сайт перенести не могу из за этих кодировок,
мучаю этот мускул уже часов 5, на гугле скоро забанят, а проблему решить не удалось, может Вы поможете :)
Если терпит до вечера, то
Если терпит до вечера, то могу посмотреть. У меня была эта проблема и я ее поборол. Как... вот хоч убей не помню. Правил конфиг и еще что-то делал + в sql скрипте стоит задавать кодировки.
Какой уже вечер сижу и жду :(
Какой уже вечер сижу и жду :(