Задавайте вопросы, мы ответим
Вы не зашли.
Прошу, конечно, пардону, но прочитал за последние 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".
Ничего...
Так как править глюк? что конкретно сделать, чтобы в консоли был выдача на рус. яз.?
Неактивен
Если это виндовая консоль, то с ней действительно трабл. Попробуйте после соединения одну из команд, может быть поможет:
SET NAMES koi8r;
SET NAMES cp1251;
SET NAMES cp866;
Неактивен
Спасибо, увидел, наконец, русские буковки:
SET NAMES koi8 ==> выдача идёт в "загогулинах" (не шрифт, а графич. элементы)
SET NAMES cp1251 ==> выдача идёт в "крякозябрьском" алфавите
SET NAMES cp866 ==> выдача НОРМАЛЬНАЯ.
Хотел бы спросить советов вот в чём ещё:
1. как автоматизировать вход (не вводить вручную SET NAMES cp866)? Или в *.ini его куда забить?
2. КоротЕнько разъясните: всё же, в чём же дело?
В Виндах - вроде бы стоит cp1251,
В MySQL - своими руками забивал cp1251 (в *.ini)
Т.е. хотелось бы понять с (.) зрения ТЕОРИИ - в чём глюк?
Ещё раз - спасибо.
Неактивен
Дело в том, что виндовая консоль использует кодировку cp866.
При получении данных из базы, MySQL преобразует данные из кодировки базы в кодировку Вашего соединения, поэтому после установки соединения рекомендуется в явном виде (SET NAMES ...)сообщить серверу кодировку, в которой Вы хотите получать данные.
Если Вы эту кодировку нигде не указываете, то сервер использует кодировку по-умолчанию (её то вы и можете указать в файле my.ini).
Вот только разумно ли в качестве кодировке по умолчанию указывать cp866?
Неактивен
Понятно...
А нельзя ли кодировку консоли Виндов подправить? Или это чему-то противоречит?
Неактивен
qqq написал:
А нельзя ли кодировку консоли Виндов подправить?
А как?
Лучше воспользуйтесь родным редактором от MySQL
http://dev.mysql.com/downloads/gui-tools/5.0.html
Неактивен
Да, спасибо, качнул, буду посмотреть...
Но вопрос имел, скорее, след. смысл:
А зачем в консоли стоит 866?, м.б. поправить там (в Виндах, и где и как?) что-то на 1251 и не иметь НИКОГДА проблем с этой стороны (и не заморачиваться в будущем "а где-то я что-то с этим делал, где-то у меня это записано...")? Ведь будут другие какие-то новые программы, да и вообще - КРИВИЗНА...
Или есть нечто принципиально важное (для Виндов), что этого делать нельзя (или неизвестно где и как)?
Неактивен
Где и как поправить кодировку консоли я не представляю. Почему у неё именно cp866 - загадка.
Неактивен
Кодировку консоли изменить не сложно:
Отредактированно Sign (18.11.2008 23:39:15)
Неактивен