Autor | Zpráva | ||
---|---|---|---|
Jack Finger Profil |
#1 · Zasláno: 4. 8. 2008, 09:04:20
ahoj, chci se zeptat na rozdíly a praktičnost použití mezi utf8_bin, utf8_unicode_ci a utf8_czech_ci. co je lepší, použitelnější nebo tak něco, nějak mi to uniká, proč je jich tam tolik... možná to zní jak dotaz lamy, ale tak asi jsem no :o) nevím pro co se mám rozhodnout b používání. díky
|
||
Kajman_ Profil * |
#2 · Zasláno: 4. 8. 2008, 09:13:24
Rozdíl je ve výsledcích operací <>= dvou řetězců. Binární porovnání porovnává podle binárního zápisu znaků. Czech_ci dává ch za h a ž za z - tedy aplikuje česká pravidla pro porovnání (tedy i seřazení).
|
||
Marek_k Profil * |
#3 · Zasláno: 4. 8. 2008, 09:24:37
Jednoznačně vysvětlující:-)
http://smog.blackpig.cz/blog/clanky/ktere-utf8-zvolit-pro-mysql |
||
Jack Finger Profil |
#4 · Zasláno: 4. 8. 2008, 09:25:59
Kajman
nějak jsem moc nepochopil jak se řazení písmen v abecedě projeví v porovnávání <>=, můžeš mi to prosím vysvětlit? :o) |
||
Jack Finger Profil |
#5 · Zasláno: 4. 8. 2008, 09:30:38 · Upravil/a: Jack Finger
aha, tak jsem koukl na odkaz, ale tam píšou, že pro vícejazyčný web je lepší utf8_unicode. ale co když mezi jazykama bude i čeština? pak se znaky budou řadit špatně... nedá se to nějak vychytat?
// edit: Marek_k díky za odkaz ;o) |
||
Kajman_ Profil * |
#6 · Zasláno: 4. 8. 2008, 09:53:45
nějak jsem moc nepochopil jak se řazení písmen v abecedě projeví v porovnávání <>=, můžeš mi to prosím vysvětlit? :o)
A podle čeho jiného by se <> mělo chovat než podle řazení písmen v abecedě? select 'hurvinek'<'chleba' collate 'utf8_czech_ci'; select 'hurvinek'<'chleba' collate 'utf8_unicode_ci'; |
||
Marek_k Profil * |
#7 · Zasláno: 4. 8. 2008, 10:01:37
Jedno ne zrovna úplně profi řešení je holt při změně jazyka (třeba přes GET požadavek) nastavit automatiku při zakládání spojení, např.
if(in_array($_GET['language'], seznamvsechpovolenychjazyku()) && $_GET['language'] == 'czech') { SET CHARACTER SET utf8_czech_ci; SET NAMES 'utf-8'; SET COLLATION_CONNECTION='utf8_czech_ci'; } else { // Nějaká univerzální sada, třeba unicode_ci } Nebo nějak přes switch, když bude jazyků víc... |
||
Jack Finger Profil |
#8 · Zasláno: 4. 8. 2008, 10:27:03 · Upravil/a: Jack Finger
Kajman_
aha, už mi docvaklo, díky :o) Marek_k to by šlo, taky mě napadlo. a jak to řešíte vy? asi moc vícejazyčných webů nemáte že :o) |
||
Časová prodleva: 17 dní
|
|||
Look Smog Profil * |
#9 · Zasláno: 20. 8. 2008, 23:22:57
Ten článek jsem psal, když jsem řešil právě problémy s češtinou a začal jsem se o to zajímat :)
Čeština je řazena správně v czech i unicode ;) |
||
Kajman_ Profil * |
#10 · Zasláno: 20. 8. 2008, 23:29:35
Čeština je řazena správně v czech i unicode ;)
I to ch a h? ;-) |
||
Look Smog Profil * |
#11 · Zasláno: 21. 8. 2008, 10:32:00
Tak jsem to vyzkoušel a ch se správně řadí za h pouze v utf8_czech_ci ;)
|
||
Časová prodleva: 16 let
|
0