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

Форум MySQL

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

 

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

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

тема: русский язык в MySQL
 
 автор: 1garik   (03.09.2006 в 11:03)   письмо автору
 
 

Установил с диска, который шел с книгой, MySQL 5. Делал все как написано, кодировку поставил cp1251. Просматривая таблицы в базе SHOP, русские символы все равно не отображаются, вместо слов что-то непонятное. Посмотрел файл my.ini и изменил везде default-character-set на cp1251, но не помогло. Что делать?

   
 
 автор: cheops   (03.09.2006 в 12:44)   письмо автору
 
   для: 1garik   (03.09.2006 в 11:03)
 

Чем смотрите содержимое базы данных? Через консольный клиент mysql? Если да, то перед работой с mysql нужно изменить кодировку консоли с cp866 (DOS) на cp1251 (Windows) при помощи команды
chcp 1251

   
 
 автор: 1garik   (03.09.2006 в 19:28)   письмо автору
 
   для: cheops   (03.09.2006 в 12:44)
 

сделал все, поменял на 1251, но все равно по-прежнему, русские слова не прочитать

   
 
 автор: cheops   (04.09.2006 в 11:55)   письмо автору
 
   для: 1garik   (03.09.2006 в 19:28)
 

А как выглядит "не читаемый" текст?

   
 
 автор: 1garik   (04.09.2006 в 12:27)   письмо автору
 
   для: cheops   (04.09.2006 в 11:55)
 

вместо букв знаки вопроса. Вот картинка.

   
 
 автор: cheops   (04.09.2006 в 13:18)   письмо автору
 
   для: 1garik   (04.09.2006 в 12:27)
 

Перед тем как выполнять запросы в mysql-клиенте, необходимо настроить текущую кодировку соединения при помощи запроса
SET NAMES 'cp1251'

   
 
 автор: 1garik   (04.09.2006 в 13:32)   письмо автору
 
   для: cheops   (04.09.2006 в 13:18)
 

Тогда получается вот что

   
 
 автор: cheops   (04.09.2006 в 13:49)   письмо автору
 
   для: 1garik   (04.09.2006 в 13:32)
 

А команду chcp 1251 перед запуском mysql точно выполняли?

   
 
 автор: 1garik   (04.09.2006 в 20:33)   письмо автору
 
   для: cheops   (04.09.2006 в 13:49)
 

Давайте опишу весь процесс, может я что-то не то делаю. Запускаю FAR, там набираю chcp 1251(кодировка меняется и русские буквы уже не понять даже в FARe), захожу в mysql (там же - в FARe). Вот теперь, если ничего не вводить и просматривать базу, то вместо русских букв знаки вопроса, если же ввести SET NAMES 'cp1251', то вместо русских букв вообще непонятное (си. второй скрин).
В файле my.ini везде напротив default-character-set стоит cсз1251.
Вот, теперь должно быть более понятно что у меня происходит.

   
 
 автор: cheops   (04.09.2006 в 22:26)   письмо автору
 
   для: 1garik   (04.09.2006 в 20:33)
 

База данных была взята с компакт диска или вы её сами воссоздавали через mysql?

   
 
 автор: 1garik   (05.09.2006 в 17:11)   письмо автору
 
   для: cheops   (04.09.2006 в 22:26)
 

База с диска, проско скопировал папку.
Да и с моими (созданными мной) базами такая же проблема - заносишь данные в базу (данные на русском языке) все вроде нормально, а когда начинаешь их просматривать тоже знаки вопроса или что-то непонятное.

   
 
 автор: 1garik   (05.09.2006 в 18:01)   письмо автору
 
   для: 1garik   (03.09.2006 в 11:03)
 

Все, я разобрался! Вместо команды SET NAMES 'cp1251' надо SET NAMES 'cp866' - после этого все становится отлично, русские слова читаемы (независимо вводить или нет перед этим chcp 1251)!

СПАСИБО ЗА ПОМОЩЬ!

   
Rambler's Top100
вверх

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