Autor Zpráva
luma64
Profil
Pozdravujem ! Obdržal som oznam, s ktorým som sa ešte nestretol. Aplikácia mi funguje už niekoľko mesiacov ale s týmto som sa ešte nestretol.

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

Môžete pls poradiť ? Súvisí to s mixom diakritík ? S tými som nerobil nič. Vďaka !
Kajman
Profil
Zkontrolujte si všechny textové sloupce ve všech Vašich tabulkách, zda používají stejnou znakovou sadu.

SELECT t.table_schema,
       t.table_name,
       t.column_name,
       t.character_set_name
FROM   information_schema.columns t
WHERE  t.table_schema != 'information_schema'
       AND t.character_set_name IS NOT NULL
ORDER  BY 4, 1, 2, 3

Také i pro spojení používejte stejnou znakovou sadu (navíc jistější bude v mysql používat utf8mb4 místo utf8).
luma64
Profil
Podľa selektu sú niektoré tabuľky sú v latin1 a niektoré sú utf. Tabuľka, nad ktorou sa chyba zobrazuje je utf.


Znaková sada servera: UTF-8 Unicode (utf8)
Kajman
Profil
Jaká je znaková sada spojení?
SHOW SESSION VARIABLES LIKE 'character\_set\_%';
SHOW SESSION VARIABLES LIKE 'collation\_%';

Když jsou nějaké sloupce v utf8 a nějakké v latin1 nepůjde mezi němi join. Stejně tak, pokud spojení k serveru je výchozí latin1 a použijete v dotazu zadaný string např. ve where, nemusí se povést ani jednoduchý dotaz na jednu tabulku.
luma64
Profil
Vysledky selektov su taketo:
Variable_name Value
character_set_client: utf8
character_set_connection: utf8
character_set_database: utf8
character_set_filesystem: binary
character_set_results: utf8
character_set_server: latin1
character_set_system: utf8

---


Variable_name Value
collation_connection: utf8_general_ci
collation_database: utf8_general_ci
collation_server: latin1_swedish_ci
Kajman
Profil
A jaký je dotaz, který při tomto nastavení vrací uvedenou chybovou hlášku?
luma64
Profil
Dotaz, na ktorom to spadlo sa odkazoval na tabulku kde bolo pole latin1_swedish_ci. Keď som upravil štruktúru polí na utf_8, dotaz sa začal vykonávať správne. Zjavne to spôsobovalo rozdielne kódovanie. Nechápem len to, prečo sa tento problém nevyskytol doteraz. Takýto pohľad sa spúšťa denne iks krát. Ďakujem za pomoc !!!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0