|
|
|
| Некорректная работа MySQL и консольного клиента MySQL Command Line Client после инсталляции часто связана с проблемами настройки кодировки.
Так, при выборе Character Set cp1251 (в окне выбора кодировки MySQL Configuration Wizard) в качестве кодировки сервера по умолчанию, использование MySQL Command Line Client напрямую становится невозможным.
Попытка запуска консольного клиента mysql из командной строки завершается ошибкой.
Подобные проблемы часто описываются на форуме.
Я экспериментировал с релизами 5.00.22 и 5.00.23; установка под Windows Pro XP SP2 и Windows Home Edition SP2; [путь к базам данных d:\MySQL5\][/i]
[Перечень симптомов данной болезни:][/b]
1) При попытке запуска Пуск|Программы|MySQL|MySQL Server 5.0|MySQL Command Line Client проиходит непроизвольное закрытие консоли при одновременном бипе
(между прочим, подобная ситуация не возникает в случае выбора Latin1 как кодировки по умолчанию)
2) Запуск из командной строки:
c:\Documents and Settings\Администратор> cd /d d:\MySQL5\bin
mysql - u root
заканчивается выводом ошибки:
mysql: Character set 'cp1251' is not a compiled character set and is not specified in the 'C:\mysql\\share\charsets\Index.xml' file"
Указанная проблема встречается на форуме издателя MySQL как пока не исправленный баг.
Решение проблемы нашел в комментариях к [http://dev.mysql.com/doc/refman/5.0/en/problems-with-character-sets.html][/url]
Оказалось достаточным в файле my.ini прописать [character-sets-dir="путь к /share/charsets"][/b]
Если база устанавливается в пути, предлагаемые по умолчанию:
character-sets-dir="C:\Program Files\MySQL\MySQL Server 5.0\\share\charsets\"
Для баз данных на моем компьютере:
CLIENT SECTION
# ----------------------------------------------------------------------
....
[client]
port=3306
[mysql]
default-character-set=cp1251
[character-sets-dir="D:/MySQL5/share/charsets"][/b]
# ----------------------------------------------------------------------
После этого ошибка в командной строке больше не возникала, более того стал возможным запуск
MySQL Command Line Client при этом окно не исчезает и сразу выводится предложение: Enter password
Теперь, собственно, вопрос:
Какова область распространения кодировки по умолчанию в базе: будут ли все создаваемые таблицы содержать данную кодировку? | |
|
|
|
|
|
|
|
для: mich@el_sha
(30.07.2006 в 22:50)
| | Вновь созданные базы данных будут иметь по умолчанию кодировку cp1251 если вы пропишите директиву
default-character-set=cp1251
|
в секции [mysqld] (а не в секции клиента [mysql]). | |
|
|
|