Forum Webscript.Ru

Общие => Базы данных => Тема начата: Lucent от 06 Июня 2006, 22:33:16

Название: MySQL: проблема с кодировкой возращаемых ошибок
Отправлено: Lucent от 06 Июня 2006, 22:33:16
Есть БД в кодировке windows-1251.
При выборке из нее данных с последующим отображение проблем нет.

Но вот при возникновении ошибки, она выдается в кодировке koi8r.

ТЕстовый скрипт:

$sql="SELECT count1(messages_id) as total FROM messages ";
$results = mysql_query($sql,$conn);   
echo $error=mysql_error();
echo \'
\';
echo mb_convert_encoding($error, "windows-1251", "koi8-r");

выдает

х ЧБУ ПЫЙВЛБ Ч ЪБРТПУЕ. йЪХЮЙФЕ ДПЛХНЕОФБГЙА РП ЙУРПМШЪХЕНПК ЧЕТУЙЙ MySQL ОБ РТЕДНЕФ ЛПТТЕЛФОПЗП УЙОФБЛУЙУБ ПЛПМП \'(messages_id) as total FROM messages\' ОБ УФТПЛЕ 1

У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около \'(messages_id) as total FROM messages\' на строке 1


Тоже самое происходит в phpmyadmin
(для которого стоит кодировка windows-1251), запускаем ошибочный запрос и получаем

страница в кодировке - windows-1251
ошибка - в koi8r


в чем может быть проблема?
хостинг говорит что ошибка с моей стороны
"Если вы хотите чтоб и ошибки выводились в нужной кодировке используйте
соотвествующую локаль, mysql к возврату ошибок тут абсолютно не причем ."
Название: MySQL: проблема с кодировкой возращаемых ошибок
Отправлено: fidget от 06 Июня 2006, 22:41:19
Потому что русифицированный файл с сообщениями об ошибках в mysql в кодировке в koi8,  а не в cp1251.

ну т.е. это в общем-то на их стороне, но пофиксить им это проблематично, ибо так идет в дистрибутиве.
Название: MySQL: проблема с кодировкой возращаемых ошибок
Отправлено: Lucent от 06 Июня 2006, 23:07:03
fidget
спасибо большое!
действительно share\\russian\\errmsg.txt сообщения в koi8r.