Всем здра!
Ставил под виндой друпал, то без проблемм. а ща хочу поставить на сервак (FreeBSD), поставилось вроди нормально.. но при регистрации такое выдает
user error: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation 'like'
query: SELECT * FROM access WHERE status = 1 AND type = 'user' AND LOWER('roma') LIKE LOWER(mask) in /home/www/drupal/includes/database.mysql.inc on line 66.
user error: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation 'like'
query: SELECT * FROM access WHERE status = 0 AND type = 'user' AND LOWER('roma') LIKE LOWER(mask) in /home/www/drupal/includes/database.mysql.inc on line 66.
Комментарии
Судя по всему дело в кодировке.
В файл
includes/database.mysql.inc
в функцию db_connect($url),
сразу после строки
mysql_select_db(substr($url['path'], 1)) or die('unable to select database');
добавь строку
mysql_query('set charset utf8');
--
USU-Lug http://usu-lug.org.ru
у меня немного не такой код...
function db_connect($url) {
$url = parse_url($url);
// Allow for non-standard MySQL port.
if (isset($url['port'])) {
$url['host'] = $url['host'] .':'. $url['port'];
}
$connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE) or die(mysql_error());
mysql_select_db(substr($url['path'], 1)) or die('unable to select database');
</b>
я поменял кодировку на utf8 ...
тема закрыта..
mysql_query("set charset utf8");
Это заработало
Сенкс
Добавил. Не помогло. Хоть у меня код несколько отличается от приведенного выше - но функции-то нашел. Как и прежде, выдает ту же самую ошибку:
Warning: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation 'like' query: SELECT * FROM access WHERE status = 1 AND type = 'host' AND LOWER('127.0.0.1') LIKE LOWER(mask) in z:\home\test3.ru\www\includes\database.mysql.inc on line 120
Warning: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation 'like' query: SELECT * FROM access WHERE status = 0 AND type = 'host' AND LOWER('127.0.0.1') LIKE LOWER(mask) in z:\home\test3.ru\www\includes\database.mysql.inc on line 120
Не знаю почему, но установка заново с созданием базы и пр. помогла. Проблема рассосалась, но в чем загвоздка так и не понятно...
http://drupal.org/node/64355
здесь описание проблемы и решение. скорее всего разница в базах данных, в кодировках, если производить обновление, а не обычную установку...