Forum Webscript.Ru

Общие => Базы данных => Тема начата: roma_orel от 03 Марта 2005, 10:45:39

Название: Ка побороть Illegal mix of collations
Отправлено: roma_orel от 03 Марта 2005, 10:45:39
Из PHP делаю запрос в базу:
SELECT * FROM t_tests WHERE 1 AND theme=\'Программирование\';

в ответ выдает ошибку:
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation \'=\'

Я так понимаю что тут чегото с кодировками...
Кто знает, объясните как с этим бороться???
Название: Ка побороть Illegal mix of collations
Отправлено: tserbis от 03 Марта 2005, 11:09:41
Можно преобразовать collation при сравнении
или смненить для поля.
Подробно - Character Set Support (http://dev.mysql.com/doc/mysql/en/charset.html).
Название: Ка побороть Illegal mix of collations
Отправлено: roma_orel от 03 Марта 2005, 11:49:15
А по русски есть?
столкнулся с этим первый раз. всегда все было нормально.
запросы INSERT и UPDATE вместо русских букв вставляют вопросы

phpMyAdmin вставляет нормально, но после ее вставки запрос SELECT выводит тоже вопросы...


$query = "SELECT * FROM table";
$res     = db_query($query);

function db_query($query){
$result = @mysql_query($query) or die (mysql_error());
return $result;}



Как правильно реализовать функцию???
Название: Ка побороть Illegal mix of collations
Отправлено: tserbis от 03 Марта 2005, 12:14:17
>> А по русски есть?
Не знаю.
Попробуй прочесть Если у вас MySQL 4.1 и любые проблемы с русскими буквами, то загляните вначале сюда! (http://phpclub.ru/talk/showthread.php?s=&threadid=58477&rand=20), может поможет.

>> всегда все было нормально
Всегда закончилось :-). Встречаем MySQL 4.1...
Название: Ка побороть Illegal mix of collations
Отправлено: roma_orel от 03 Марта 2005, 12:45:09
УРА!!!!!!!!! Заработало!!!!!!!!!!

tserbis, тебе огромное спасибо!