Forum Webscript.Ru
		Общие => Базы данных => Тема начата: 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 в кодировке в koi8,  а не в cp1251. 
 
 ну т.е. это в общем-то на их стороне, но пофиксить им это проблематично, ибо так идет в дистрибутиве.
- 
				fidget 
 спасибо большое!
 действительно share\\russian\\errmsg.txt сообщения в koi8r.