Mysql a ORDER BY

Programovacie jazyky, rady, poradňa...
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Mysql a ORDER BY

Príspevok od používateľa Shakal »

Zdravim.
Chcem poziadat o radu.

Mam SQL tabulku v kodovani latin1 v ktorej mam v stlpci "Name" zoznam ludi. Niektori maju prve pismeno svojho mena/priezviska s nejakym "makcenom".

Napriklad
Šulka Martin
Ťava Peter
a pod.

Ked vykonam SQL:
"select name,id,email from users order by name"
tak mi mena zoradi podla abecedy (s cim som spokojny). Ale uvedene mena s makcenom mi dava na zaciatok tabulky (ako by nevedel kam v abecede patria). Skusal som aj hladat nieco na webe ohladom tejto veci ale problem je ze ani neviem co mam hladat.

Mozte mi niekto poradit? Diki.
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

musis nastavit spravny collation set. je to vlastne definovanie abecedy podla ktorej sa bude usporiadavat
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

select name from users order by name collate utf8_slovak_ci;

nefunguje :(
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

no kedze tam mas kodovanie latin1 tak porovnavanie utf8 nie je ten najlepsi napad. skus tam dat collate latin1_general_cs
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

Ja som to vcera prehodil na utf8. Aj stranku aj tabulku myslim.

mysql> select name from users where utype='3' group by name collate latin1_general_cs;
ERROR 1253 (42000): COLLATION 'latin1_general_cs' is not valid for CHARACTER SET 'utf8'
Napísať odpoveď