Xpoint
   [напомнить пароль]

кодировка в error.log

2002-10-30 00:04:03 [обр] Костя ( Пёс ) [досье]
незнаю в чём проблемма и как её победить,
[Mon Oct 28 14:59:53 2002] [error] [client 127.0.0.3] [Mon Oct 28 14:59:53 2002] d:\home\chat\cgi-bin\imexmysql.cgi: DBI->connect(guestbook:localhost) failed: дПУФХР ЪБЛТЩФ ДМС РПМШЪПЧБФЕМС: 'root@localhost' (вЩМ ЙУРПМШЪПЧБО РБТПМШ: дб) at d:\home\chat\cgi-bin\imexmysql.cgi line 36
во такие ироглифы мне попадают в логи серввера win2000 , Apache /1.3.20 , mysql 3.23.39
спустя 37 минут [обр] Костя ( Пёс ) [досье]
вообщем, кое что прояснилось, всё дело в errmsg.sys файл записан по koi8-R, а как
сделать вывод сообщений от мускуля в перекодированном виде? или самому переписывать весь файл?
спустя 10 часов [обр] Максим Деркачев [досье]
Можно перекодировать текст, а можно поменять локаль сервера. Русифицированные сообщения сервера записаны в КОИ, поэтому под русской локалью они и появляются.
спустя 35 минут [обр] fidget [досье]
> или самому переписывать весь файл?
а кто тебе мешает перекодировать текст и создать еще один errmsg.sys?
потому как поменять под форточками локаль с cp1251 на koi8 как-то не очень :-)
спустя 13 минут [обр] Максим Деркачев [досье]
Нет, там не в том дело. Локаль там стоит русская, и 1251, но локализованные сообщения для русского языка в mysql зашиты в кои (наследие UNIX). Версия довольно старая, может сейчас это уже нарыли и пофиксили. Я не знаю как под виндами (давно не ставил MySQL под Win, да и не заморачивался над проблемой error.log), но может быть можно сменить локаль самого сервера mysql на US_ASCII, тогда сообщения будут сыпаться на английском. Надо посмотреть настройку.
спустя 1 час 45 минут [обр] Костя ( Пёс ) [досье]
 fidget >а кто тебе мешает перекодировать текст и создать еще один errmsg.sys?
невыйдет
а в koi8 это только что касаемо руского языка, в my.ini #language=D:/mysql/share/russian/ и всё выдаёт на английском !
спасибо, тему можно закрыть!
спустя 3 часа 11 минут [обр] Дмитрий Горяинов aka "три галки" [досье]

лично у меня не получилось :-)

при попытке подменить файды - те же КОИ8-Р в сообщениях,
при попытке указать
my.ini:
...
default-character-set=cp1251 (или win1251)
language=D:/.../share/russian

получаем сообщение:
> mysql -u_пользователь_ -p_пароль_
Character set #14 (или #17) is not compliled character set and is not specified in the '...\share\charsets\Index' file
ERROR 2019: Can't initialize character set 14 (или 17) ...

проще говоря - перезапись текстовых файлов ничего не дает - нужно пересобирать, а это нужно ли / хочется ли делать под Win? ;-)

спустя 25 минут [обр] Максим Деркачев [досье]

Ты подменил файлы в /share/russian? Я просто думал, что в том то и фишка, что все в share/russian на КОИ8, и можно их перекодировать. Значит они это под Win в exe зашили. А default-character-set тут ни при чем, он не имеет отношения к локали сообщений об ошибках.
Если language отключить, то все пойдет в US-ASCII, как локали по умолчанию.

Прикольно там вообще русифицировано :)
"Не хватает памяти для сортировки. Увеличьте размер буфера сортировки у сервера"
Кто такая Cортировка ? :)

"Неожиданный конец файла '%-.64s' (Ошибка: %d)"
"Какая-то синтаксическая ошибка"
"Ошибка чтения из трубы коннекта"

"MySQL работает в режиме защиты от дураков (safe_mode) - не могу UPDATE без WHERE с каким-небудь KEY"

спустя 1 час 39 минут [обр] Дмитрий Горяинов aka "три галки" [досье]

думаю, что "зашили" errmsg.sys...

собственно - это я так, поигрался :-) выхода (имхо) два:

  1. перекодировать из кои-вин (perl-, php-, vb- сценарий, программа);
  2. читать "нормальные англоязычные" сообщения;
спустя 1 час [обр] fidget [досье]
берете файлик errmsg.txt, который в koi8, котвертите содержание в cp1251, из этого файлика делаете errmsg.sys, ложите его куда-нибудь, прописываете к нему путь в language=/../../errmsg.sys
и наслаждаетесь сообщениями в cp1251
что не ясно?
спустя 15 часов [обр] Максим Деркачев [досье]
"из этого файлика делаете errmsg.sys"
errmsg.sys - бинарный файл, и не эквивалентен errmsg.txt, правда, компилируется действительно из него утилитой comp_err.
спустя 8 минут [обр] Дмитрий Горяинов aka "три галки" [досье]

shell$ comp_err errmsg.txt errmsg.sys

но в поставке Win-версии этой утилиты нет, а разговор шел об этом, не так ли?

спустя 4 минуты [обр] Максим Деркачев [досье]
А UNIX тогда зачем, если на винях можно будет еррорс компилить? :)
спустя 6 минут [обр] fidget [досье]

> errmsg.sys - бинарный файл, и не эквивалентен errmsg.txt, правда, компилируется действительно из него утилитой comp_err.

да я в курсе, иначе бы не писала :-Р

> но в поставке Win-версии этой утилиты нет, а разговор шел об этом, не так ли?

она и под Виндами есть, только вот кажется только 3.23.50й версии, я точно не помню ..

Powered by POEM™ Engine Copyright © 2002-2005