Již jste se pokusili pro vyhledávání a objednávání použít třídění bez zvýraznění.
http://dev.mysql.com/doc /refman/5.0/en/charset-collation-implementations.html
Jde o to, že vaše NAME
Zdá se, že sloupec je uložen ve znakové sadě latin1 (8 bitů). Proto na vás mySQL reptá takto:
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
Pokud to zkusíte
, můžete dosáhnout požadovaných výsledků WHERE CONVERT(p.NAME USING utf8) LIKE _utf8 '%jose%' COLLATE utf8_general_ci;
Ale pozor!
Když použijete jakýkoli druh funkce (v tomto příkladu CONVERT) ve sloupci v příkazu WHERE, překazíte pokusy MySQL optimalizovat vaše vyhledávání pomocí indexů. Pokud se tento projekt bude zvětšovat (to znamená, pokud budete mít v tabulkách mnoho řádků), musíte svá data ukládat ve formátu utf8, nikoli latin1. (Pravděpodobně už víte, že vaše LIKE '%whatever%'
hledaný výraz také překonává indexování MySQL.)