Autor | Zpráva | ||
---|---|---|---|
luma64 Profil |
#1 · Zasláno: 25. 2. 2019, 08:25:11
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 |
#2 · Zasláno: 25. 2. 2019, 08:48:16
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 |
#5 · Zasláno: 25. 2. 2019, 09:18:47
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 |
#6 · Zasláno: 25. 2. 2019, 09:53:23
A jaký je dotaz, který při tomto nastavení vrací uvedenou chybovou hlášku?
|
||
luma64 Profil |
#7 · Zasláno: 25. 2. 2019, 10:46:28
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 !!!
|
||
Časová prodleva: 4 roky
|
0