Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Значения по умолчанию
 
 автор: pro   (07.03.2007 в 10:30)   письмо автору
 
 

Добрый день!

Пожалуйста подскажите...

Ситуация следующая.

Следуя рекомендациям по установке сервера mySQL, указанным в книге "MySQL 5", я установил сервер 5.0.22-community-nt (выбрав при этом кодировку по умолчанию cp1251).

Вначале после запуска MySQL command line client появлялся звуковой сигнал, и окно клиента закрывалось. После изменения конфигурационного файла my.ini (удалил директиву default-character-set из секции [mysql] и добавил ее в секцию [mysqld]) клиент стал запускаться нормально.

Далее. При создании таблицы я указал значение одного из столбцов по умолчанию на русском языке (отображались буквы нормально - шрифт в консоли Lucida Console), но тогда появилось сообщение об ошибке ERROR 1067: Invalid default value.
Тогда сразу после установки соединения c сервером я указал команду
SET NAMES cp1251;
и подобное сообщение больше не появлялось.

Однако после применения оператора DESCRIBE /table/ пятое поле (default) - значение по умолчанию - содержит помимо заданных русских букв знаки вопросов (например, заглавная буква И заменена этим самым знаком вопроса). Причем при добавлении записи в эту же таблицу и последующем ее извлечении буква И, например, отображается корректно.

   
 
 автор: Trianon   (07.03.2007 в 10:48)   письмо автору
 
   для: pro   (07.03.2007 в 10:30)
 

Кодовую страницу самой консоли Вы установить не забыли?

> chcp 1251 
?

   
 
 автор: pro   (07.03.2007 в 12:55)   письмо автору
 
   для: Trianon   (07.03.2007 в 10:48)
 

Действительно, получается, что если работать через командную строку и до вызова mysql выполнить команду
chcp 1251
тогда и значение по умолчанию имеет корректный вид при выполнении команды DESCRIBE
А как быть, если я работаю через MySQL command line client?

   
 
 автор: Trianon   (07.03.2007 в 13:26)   письмо автору
 
   для: pro   (07.03.2007 в 12:55)
 

Эта формулировка напоминает такую: Когда я вхожу в автобус через переднюю дверь - кондуктор рядом и я беру билет. А когда через заднюю - кондуктор далеко, и взять билет не получается. Как быть?

MySQL command line client - не программа, а всего лишь ярлык к ней.
Работаете Вы в любом случае через mysql.exe .
Выполнили Вы в этом сеансе ОС переключение кодовой страницы или нет - Ваше личное дело.

   
 
 автор: cheops   (07.03.2007 в 13:29)   письмо автору
 
   для: pro   (07.03.2007 в 12:55)
 

MySQL command line client расчитана на англоязычных пользователей, если вы хотите работать с русским языком в кодировке, отличной от cp866, придётся запускать клиент mysql самостоятельно из командной строки, предварительно изменив кодировку командной строки.

   
 
 автор: pro   (07.03.2007 в 16:49)   письмо автору
 
   для: cheops   (07.03.2007 в 13:29)
 

Спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования