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

Форум PHP

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

 

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

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

тема: Как в консоле MySQL писать по-русски
 
 автор: Адоп Акробат   (22.09.2004 в 15:48)   письмо автору
 
 

Как мне в консоли можно писать по Русски и чтобы он не перекавыркивался в ироглифы???

   
 
 автор: LimP   (22.09.2004 в 20:18)   письмо автору
 
   для: Адоп Акробат   (22.09.2004 в 15:48)
 

в смысле,в дос-коммандере??? у меня ничегог,работает,пишу хоть по-руски,хоть как,ничего не переводится...

   
 
 автор: Адоп Акробат   (22.09.2004 в 20:21)   письмо автору
 
   для: LimP   (22.09.2004 в 20:18)
 

А у меня в консоле пишется по руски а кагда я ево вывожу на страницу то он у меня в ироглифах. А если я записываю с страницы то ана в консоле пишется ироглифами а на сайте нармальна

   
 
 автор: cheops   (22.09.2004 в 20:37)   письмо автору
 
   для: Адоп Акробат   (22.09.2004 в 20:21)
 

Кодировка в консоле 866 (DOS) - номер могу врать, а нужна 1251 (Windows) - так как при отображении страниц используется именно она... В консоли Windows (XP по крайней мере) есть команда переключающая кодировки по номеру... Честно пытался её искать, сначала у себя в голове, потом в системе, не помню, помню только что есть... Вообще говоря SQL-запросы, тем более с русским языком гораздо удобнее осуществлять из файла - пишем запросы, допустим в файл test.sql, который помещаем в C:/mysql/bin/, тогда выполнять SQL-операторы в нём можно при помощи команды:
SOURCE test.sql;

   
 
 автор: Адоп Акробат   (22.09.2004 в 20:43)   письмо автору
 
   для: cheops   (22.09.2004 в 20:37)
 

Ага пасибо.Попробую функцию поискать :)

А чо Дизайнер избранное делает :)

   
 
 автор: LimP   (22.09.2004 в 20:50)   письмо автору
 
   для: Адоп Акробат   (22.09.2004 в 20:21)
 

ну тогда не зняю,не сталкивался...

   
 
 автор: J.Lex   (23.09.2004 в 00:10)   письмо автору
 
   для: LimP   (22.09.2004 в 20:50)
 

вот мазохисты через консоль записи вставлять в MySQL есть куча граф.программ также phpmysqladmin а вы все через консоль?

[поправлено модератором]

   
 
 автор: sandrey   (01.11.2004 в 16:16)
 
   для: Адоп Акробат   (22.09.2004 в 15:48)
 

та же проблема

так есть решение? или нет?

   
 
 автор: cheops   (01.11.2004 в 21:20)   письмо автору
 
   для: sandrey   (01.11.2004 в 16:16)
 

Решение, конечно существует, если у вас операционная система WinXP, то сменить кодировку консоли можно при помощи команды chcp. По умолчанию выставлена досовская кодировка - 866, в чём можно убедится набрав команду chcp без параметров
chcp

Для переключения консоли в кодировку Windows наберите команду chcp, передав в качестве аргумента номер кодировки
chcp 1251

   
 
 автор: Адоп Акробат   (01.11.2004 в 22:45)   письмо автору
 
   для: cheops   (01.11.2004 в 21:20)
 

У меня вылазиет ошибка

   
 
 автор: cheops   (01.11.2004 в 23:05)   письмо автору
 
   для: Адоп Акробат   (01.11.2004 в 22:45)
 

А операционная система какая и что за ошибка? Эта команда помоему только в WinXP появилась (хотя возможно и раньше).

   
 
 автор: sandrey   (02.11.2004 в 10:01)
 
   для: cheops   (01.11.2004 в 21:20)
 

да, я это пробовал, но не помогает.
запускаем в Windows XP cmd.exe
в появившемся окошке набираем chcp, убеждаемся, что стоит кодировка 866, потом набираем chcp 1251, потом mysql.exe, потом набираем любой select и на экране все равно все пытается отобразиться в 866 кодировке, а не в 1251 :(
выходим из mysql, набираем chcp - пишет - 1251

   
 
 автор: cheops   (02.11.2004 в 10:36)   письмо автору
 
   для: sandrey   (02.11.2004 в 10:01)
 

Хм... странно у меня работает. Попробуйте задать кодировку по умолчанию при старте клиента mysql
mysql --default-character-set=win1251


PS Кстати, какая версия MySQL?

   
 
 автор: sandrey   (02.11.2004 в 10:49)
 
   для: cheops   (02.11.2004 в 10:36)
 

задаю. не работает :(
Windows XP SP1
mysql 4.0.18

еще у меня в my.cnf есть такие строки
[mysql]
no-auto-rehash
set-variable = character-sets-dir=C:/Program Files/mysql/share/charsets
set-variable = default-character-set=win1251

   
 
 автор: cheops   (02.11.2004 в 11:11)   письмо автору
 
   для: sandrey   (02.11.2004 в 10:49)
 

Настройки в my.cnf будут першибать всё и настройки консоли и вводимые параметры. Попробуйте закоменнтировать эти строки (мне не нравятся пробелы в пути файла)
set-variable = character-sets-dir=C:/Program Files/mysql/share/charsets
set-variable = default-character-set=win1251

и задать в ручную кодировку при помощи chcp и параметров...

   
 
 автор: sandrey   (02.11.2004 в 11:25)
 
   для: cheops   (02.11.2004 в 11:11)
 

попробовал - не работает
попробовал даже папку charsets в корень диска c положить и в командной строке писал

mysql.exe -uroot -p --character-sets-dir=c:/charsets --default-character-set=win1251

все равно не работает :(

   
 
 автор: elenaki   (02.11.2004 в 11:29)   письмо автору
 
   для: sandrey   (02.11.2004 в 11:25)
 

>mysql --default-character-set=win1251


это можно делать только в консоли? дело в том, что у меня стоит latin-1 по умолчанию, а мне
бы очень хотелось иметь греческую (Win-1253). но у меня никак это не получается, я уже и
надежду потеряла... а без этой кодировки не делает сортировку по греческому алфавиту.

   
 
 автор: cheops   (02.11.2004 в 11:58)   письмо автору
 
   для: elenaki   (02.11.2004 в 11:29)
 

Это уже сервер: можно попытаться запустатить сам сервер с параметром
mysqld --default-character-set=greek

Кстати, в греции кодировок сколько?

   
 
 автор: elenaki   (02.11.2004 в 12:08)   письмо автору
 
   для: cheops   (02.11.2004 в 11:58)
 

3 - Greek Windows & Greek ISO & MacGreek

   
 
 автор: elenaki   (02.11.2004 в 12:09)   письмо автору
 
   для: cheops   (02.11.2004 в 11:58)
 

>можно попытаться запустить сам сервер с параметром

а можно с этого момента поподробней? по шагам.

   
 
 автор: cheops   (02.11.2004 в 12:26)   письмо автору
 
   для: elenaki   (02.11.2004 в 12:09)
 

1) Начать следует с того, что выяснить все параметры запуска сервера MySQL (там можно обнаружить массу интересных вещей). Для этого следует задать команду
mysqld --help

Для удобства лучше вывести текст справки вывести в файл
mysqld --help>mysqld.txt

2) Именно там можно обнаружить опции кодировок (--default-character-set). Каждой из поддерживаемых сервером кодировок соотвествует файл в mysql/share/charsets - для греческой кодировки там только один файл greek
3) Если сервер стартует как сервис - нужно пойти в консоль сервисов - зайти в свойства сервиса MySQL остановить сервис и в текстовой области "Параметры запуска" написать
--default-character-set=greek

4) Запустить сервер, нажав кнопку "Старт"

PS Всё это может не помочь так как существуют настройки при компиляции сервера, которые так же влияют на порядок сортировки - постоянно встречаются сервера с косой сортировкой по русски.

   
 
 автор: cheops   (02.11.2004 в 12:09)   письмо автору
 
   для: sandrey   (02.11.2004 в 11:25)
 

Попробуйте в комбинации с chcp? Хм... вообще говоря странно, что никак не получается обуздать клиента (сервер я как понимаю прекрасно сохраняет в виндоузской кодировке).
Сейчас повозился вот что получилось у меня (WinXP (без SP) MySQL 4.0.21 установлен в C:/mysql)
1) Кодировка windows-1251 нормально отображается в mysql при смене кодировки консоли chcp - без разницы задаётся --default-character-set или нет.
2) Если смены кодировки chcp не производится - без разницы задаётся --default-character-set или нет - вместо текста в windows-1251 выдаются кракозяблики.

   
 
 автор: sandrey   (02.11.2004 в 12:56)
 
   для: cheops   (02.11.2004 в 12:09)
 

да, сначала набираю chcp 1251. Сервер замечательно сохраняет в win1251 (запросы на запись в БД делаются из php-скриптов)

в общем, качаю сейчас версию 4.1.7, и вечером попробую установить ее в каталог c:\mysql (вечером - т.к. сейчас не могу остановить работающий sql сервер)

   
 
 автор: Адоп Акробат   (02.11.2004 в 13:09)   письмо автору
 
   для: sandrey   (02.11.2004 в 12:56)
 

Блин чота я не понимаю я пишу:
chcp

И он мне ошибку кидает:
ERROR 1064 (42000): You have an error in your SQL syntax.  Check the manual that
 corresponds to your MySQL server version for the right syntax to use near 'chcp' at line 1

Чот не то??

   
 
 автор: sandrey   (02.11.2004 в 14:17)
 
   для: Адоп Акробат   (02.11.2004 в 13:09)
 

chcp - это команда windows, а не mysql

   
 
 автор: sandrey   (03.11.2004 в 11:20)
 
   для: cheops   (02.11.2004 в 12:09)
 

в общем с chcp у меня так и не заработало :(
решил проблему по-другому :) :
начинас с версии 4.1.1 в MySQL есть опция
charecter_set_results
которую я и установил в cp866 - отображается теперь как надо. не знаю - может записываться в базу будет не правильно, но мне это пока и не нужно

   
 
 автор: sandrey   (05.11.2004 в 08:09)
 
   для: cheops   (02.11.2004 в 12:09)
 

может кому пригодится:
заработало chcp
проблема была в шрифте. При шрифте "Точечные шрифты" chcp не работает, а про "Lucida Console" - работает

   
 
 автор: Саша   (28.02.2005 в 10:58)   письмо автору
 
   для: sandrey   (05.11.2004 в 08:09)
 

у меня стоит FreeBSD. Так вот, на самом сервере то у меня иэроглифы, но в клиентский броузер кирилица читаеться нормально. Зато в майескюэл редакторе отображаеться Êâ³òí. С этим что нибудь можна сделать. В настройках смотрел, там нет такой опции менят кодировку.... Клиент MySQL FRONT 3.2

   
 
 автор: RV   (06.03.2005 в 06:45)   письмо автору
 
   для: Саша   (28.02.2005 в 10:58)
 

установлен мускул сервер 4.1 в е\програм филес\мускул сервер 4.1 , вин 2003сервер.
Где находиться конфиг файл my.conf ??

   
 
 автор: cheops   (06.03.2005 в 11:00)   письмо автору
 
   для: RV   (06.03.2005 в 06:45)
 

По умолчанию он не создаётся - его следует создать, например переименовав файл my-small.cnf и поместив его в директорию C:/Windows/

   
 
 автор: RV   (06.03.2005 в 18:03)   письмо автору
 
   для: cheops   (06.03.2005 в 11:00)
 

conf ?
есть только my-small (без расширения, однако вынь пишет что это Type Speedial)
открыть - ничего не происходит, переименовываю в ..conf тоже не открывает, и тип не меняет. весит 3 кб

   
 
 автор: glsv (Дизайнер)   (07.03.2005 в 00:24)   письмо автору
 
   для: RV   (06.03.2005 в 18:03)
 

> открыть - ничего не происходит, переименовываю в ..conf тоже не открывает
Попробуйте открыть в блокноте. Только когда будете сохранять изменения, проследите, чтобы расширение файла не изменилось.

   
 
 автор: RV   (07.05.2005 в 17:19)   письмо автору
 
   для: glsv (Дизайнер)   (07.03.2005 в 00:24)
 

в my.conf стоит default-character-set=ср1251
добавляю из скрипта русские буквы. запускаю mysql.exe
если делать первый запрос перед добавлением $query1 = "SET CHARACTER SET cp1251"; то в консоли отображаются ?????? вместо русских букв. а если добавлять без $query1 = "SET CHARACTER SET cp1251 , то отображаются всякие непонятные буквы. chcp стоит 1251

   
 
 автор: cheops   (08.05.2005 в 00:46)   письмо автору
 
   для: RV   (07.05.2005 в 17:19)
 

Версия какая (до третьей цифры)?

   
 
 автор: RV   (08.05.2005 в 05:47)   письмо автору
 
   для: cheops   (08.05.2005 в 00:46)
 

4.1.5-gamma-nt под вин2003 энтерпрайз.
кстати, если в my.conf прописать default-character-set=koi8_ru, то процесс отказывается стартовать, а вот если default-character-set=cp1251 то ок.

   
 
 автор: cheops   (08.05.2005 в 18:19)   письмо автору
 
   для: RV   (08.05.2005 в 05:47)
 

Эта тема слишком длинная и с ней не удобно работать, давайте её закроем и переёдём в новую http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3940

   
Rambler's Top100
вверх

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