Paweł Rohde pisze:
Mad Mark pisze:
Quoting "Paweł Rohde" pawel@rohde.pl:
takie coś mi wyskoczyło:
Wystąpiły błędy w obsłudze bazy danych! *Zapytanie:* (SELECT rtmessages.id AS id, mailfrom, subject, body, createtime, CONCAT(UPPER(customers.lastname), ' ', customers.name) AS customername, userid, users.name AS username, customerid FROM rtmessages LEFT JOIN customers ON (customers.id = customerid) LEFT JOIN users ON (users.id = userid) WHERE ticketid = '667') UNION (SELECT rtnotes.id AS id, NULL, NULL, body, createtime, NULL, userid, users.name AS username, NULL FROM rtnotes LEFT JOIN users ON (users.id = userid) WHERE ticketid = '667') ORDER BY createtime ASC *Błąd:* Illegal mix of collations for operation 'UNION'
To wygląda jakbyś dalej miał pomieszane kodowania (różne collations dla tabel) - ujednolić to i powinno być ok. W sumie w całej bazie powinieneś mieć kodowanie unicode i taki sam collate (nie pamiętam czy general czy polish)
Faktycznie jedne tabele miały collate general inne polish. Sądząc po tym jak się zakłada bazę ustawiłem wszędzie polish. WSZYSTKIE tabele są zalterowane i nadal to samo... szukam dalej.
paweł
ostatecznie zmieniłem sobie:
alter table customers modify name varchar(255) collate utf8_polish_ci default null; alter table customers modify lastname varchar(255) collate utf8_polish_ci default null;
... co dało mi wreszcie prawidłowe sortowanie
alter table rtnotes modify body text collate utf8_general_ci not null;
... co naprawiło błąd collate w unionie
... ufff ...