Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Ошибка с работой Mysql


Автор: Ринат 1.6.2006, 22:19
добрый день
получаю ошибку
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='

смысл вобщем то, понятен
запрос
SELECT * FROM orders WHERE nachname='1' AND tovar='Балконный блок' ORDER by date LIMIT 0, 3 
проходит в phpmyadmin, скажем , на Ура.

прошу поясните в чем дело и как поправить. 

Автор: skyboy 1.6.2006, 22:39
Ринат, у тебя парсер говорит: несовместимая кодировка, сравнение, мол, невозможно... В какой у тебя кодировке таблица, если слово "Балконный блок" - это кодировка ср1251? Правильно, latin1_swedish_ci. Как лечится? Изменяются параметры таблицы. 

Автор: Ринат 1.6.2006, 22:42
да я знаю ошибку
в базе все кодировки cp_1251_ci

CREATE TABLE `orders` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `number` varchar(50) NOT NULL default '0',
  `date` date NOT NULL default '0000-00-00',
  `tovar` varchar(255) NOT NULL default '',
  `price` float default NULL,
  `profil` varchar(255) NOT NULL default '',
  `kamera` varchar(255) NOT NULL default '',
  `breit_stvorka1` int(11) unsigned NOT NULL default '0',
  `breit_stvorka2` int(11) unsigned NOT NULL default '0',
  `breit_stvorka3` int(1) unsigned NOT NULL default '0',
  `conf_stvorka1` varchar(255) NOT NULL default '',
  `conf_stvorka2` varchar(255) NOT NULL default '',
  `conf_stvorka3` varchar(255) NOT NULL default '',
  `hoch` int(11) NOT NULL default '0',
  `hoch_dver` int(11) NOT NULL default '0',
  `remont` varchar(255) NOT NULL default '',
  `otkos` int(11) NOT NULL default '0',
  `otliv` int(11) unsigned NOT NULL default '0',
  `podokon` int(11) NOT NULL default '0',
  `podokon_draus` int(11) NOT NULL default '0',
  `vorname` varchar(255) NOT NULL default '',
  `nachname` varchar(255) NOT NULL default '',
  `stadt` varchar(255) NOT NULL default '',
  `strasse` varchar(255) NOT NULL default '',
  `haus` varchar(255) NOT NULL default '',
  `apt` varchar(255) NOT NULL default '',
  `mphone` varchar(255) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  `nachricht` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=31 ;


  

Автор: skyboy 1.6.2006, 22:48
Перед сравнением явно приведи обе части к кодировке "ср1251". Работает или нет?  

Автор: Ринат 1.6.2006, 22:49
в скрипте сейчас так
$query_lanc = "set character_set_client='cp1251'";
$query_lanr = "set character_set_results='cp1251'";
$query_lanconnect = "set collation_connection='cp1251_general_ci'";

Добавлено @ 22:56 
спасибо заработало! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)