SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.11.2008 12:30:21

qqq
Участник
Зарегистрирован: 16.11.2008
Сообщений: 4

Бесконечный вопрос о ??????? ??? в консоли...

Прошу, конечно, пардону, но прочитал за последние 2 суток массу сообщений и рекомендаций, но свою ситуацию не выправил.

Итак, начал осваивать MySQL. Довольно быстро всё запустил (Apache - MySQL 5.0.67 - PHP - phpMyAdmin), но единственный (пока) глюк, который вижу и ничего не могу сделать: ????? ??? вместо русского при
select * from TABLEqqq
в консоли.
Причём в phpMyAdmin - выдача нормальная, русский текст, всё в норме. В консоли с клавы - русский в норме.

Что делал: взял csv файл: таблица: e-mail (англ) и КТО-ЭТО (рус.) и подсосал в MySQL.

Настраивал всё по "PHP, MySQL и Dreamweaver - разработка сайтов", cp1251 указал.
По форумным рекоменд.:
- в Win: Региональные - Дополнительно отметил все кирил. шрифты, все прочие снёс (где возможно).
- Реестр: 00000409 заменил с "us" на "ru".

Ничего...

Так как править глюк? что конкретно сделать, чтобы в консоли был выдача на рус. яз.?

Неактивен

 

#2 16.11.2008 14:18:49

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Бесконечный вопрос о ??????? ??? в консоли...

Если это виндовая консоль, то с ней действительно трабл. Попробуйте после соединения одну из команд, может быть поможет:
SET NAMES koi8r;
SET NAMES cp1251;
SET NAMES cp866;

Неактивен

 

#3 17.11.2008 15:20:15

qqq
Участник
Зарегистрирован: 16.11.2008
Сообщений: 4

Re: Бесконечный вопрос о ??????? ??? в консоли...

Спасибо, увидел, наконец, русские буковки:


SET NAMES koi8 ==> выдача идёт в "загогулинах" (не шрифт, а графич. элементы)

SET NAMES cp1251 ==> выдача идёт в "крякозябрьском" алфавите

SET NAMES cp866 ==> выдача НОРМАЛЬНАЯ.


Хотел бы спросить советов вот в чём ещё:

1. как автоматизировать вход (не вводить вручную SET NAMES cp866)? Или в *.ini его куда забить?

2. КоротЕнько разъясните: всё же, в чём же дело?

В Виндах - вроде бы стоит cp1251,
В MySQL - своими руками забивал cp1251 (в *.ini)

Т.е. хотелось бы понять с (.) зрения ТЕОРИИ - в чём глюк?

Ещё раз - спасибо.

Неактивен

 

#4 17.11.2008 17:54:13

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Бесконечный вопрос о ??????? ??? в консоли...

Дело в том, что виндовая консоль использует кодировку cp866.

При получении данных из базы, MySQL преобразует данные из кодировки базы в кодировку Вашего соединения, поэтому после установки соединения рекомендуется в явном виде (SET NAMES ...)сообщить серверу кодировку, в которой Вы хотите получать данные.
Если Вы эту кодировку нигде не указываете, то сервер использует кодировку по-умолчанию (её то вы и можете указать в файле my.ini).
Вот только разумно ли в качестве кодировке по умолчанию указывать cp866?

Неактивен

 

#5 17.11.2008 19:28:40

qqq
Участник
Зарегистрирован: 16.11.2008
Сообщений: 4

Re: Бесконечный вопрос о ??????? ??? в консоли...

Понятно...

А нельзя ли кодировку консоли Виндов подправить? Или это чему-то противоречит?

Неактивен

 

#6 17.11.2008 20:09:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Бесконечный вопрос о ??????? ??? в консоли...

qqq написал:

А нельзя ли кодировку консоли Виндов подправить?

А как?

Лучше воспользуйтесь родным редактором от MySQL
http://dev.mysql.com/downloads/gui-tools/5.0.html

Неактивен

 

#7 18.11.2008 16:20:17

qqq
Участник
Зарегистрирован: 16.11.2008
Сообщений: 4

Re: Бесконечный вопрос о ??????? ??? в консоли...

Да, спасибо, качнул, буду посмотреть...

Но вопрос имел, скорее, след. смысл:

А зачем в консоли стоит 866?, м.б. поправить там (в Виндах, и где и как?) что-то на 1251 и не иметь НИКОГДА проблем с этой стороны (и не заморачиваться в будущем "а где-то я что-то с этим делал, где-то у меня это записано...")?  Ведь будут другие какие-то новые программы, да и вообще - КРИВИЗНА...

Или есть нечто принципиально важное (для Виндов), что этого делать нельзя (или неизвестно где и как)?

Неактивен

 

#8 18.11.2008 19:17:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Бесконечный вопрос о ??????? ??? в консоли...

Где и как поправить кодировку консоли я не представляю. Почему у неё именно cp866 - загадка.

Неактивен

 

#9 18.11.2008 22:43:31

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: Бесконечный вопрос о ??????? ??? в консоли...

Кодировку консоли изменить не сложно:

chcp 1251

При этом не забудьте в свойствах окна выбрать шрифт Lucida

Причины этого естественно исторические - имена файлов в FAT хранятся именно в 866-й кодировке

Можно ещё прописать кодировку в реестре, но счастья Вам это не добавит ; )

Отредактированно Sign (18.11.2008 23:39:15)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson