Řazení podle české abecedy – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Řazení podle české abecedy – MySQL – Fórum – Programujte.comŘazení podle české abecedy – MySQL – Fórum – Programujte.com

 

fix0
Stálý člen
6. 10. 2018   #1
-
0
-

Ahoj všem zkušenějším, o pomoc se řazením databáze. Jistě jste to v začátcích také řešili.

Jestli se nepletu, správné řazení řádků podle sloupce by mělo vypadat podle tohoto vzoru:

A, a, Á á, B, b, C, c, Č, č

Mě to ale řadí takto: áéí,.......,a,b,c,d,e,.... (Diakritiku řadí na začátek)

Podle těchto rad: https://forum.c4.cz/mysql-abecedni-razeni-cestiny-t502.html

Jsem přidal do příkazu: COLLATE utf8_czech_ci;

A po připojení k databázi samozřejmě začínám příkazem $sql = "SET NAMES utf8;";

Máte prosím někdo radu, jak na to? Můj příkaz zjednodušeně vypadá takto:

SET NAMES utf8;
SELECT * FROM kontroly LEFT JOIN `kontakty` ON kontroly.id_kontaktu=kontakty.id WHERE 1=1 ORDER BY kontakty COLLATE utf8_czech_ci ASC LIMIT 0 ,100
Nahlásit jako SPAM
IP: 92.240.177.–
Kit+15
Guru
6. 10. 2018   #2
-
0
-

#1 fix
Zřejmě máš data chybně uložena (nejspíš v ISO Latin 1). Pomůže smazání databáze a vytvoření znovu se správným nastavením znakové sady.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c8b5:ce75:7d5:1050...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix0
Stálý člen
6. 10. 2018   #3
-
0
-

Myslíš tohle? Jestli chápu co myslíš, tak to není latin*, ale zdá se: utf8_general_ci

Toho unicode si nevšimej, to k tomu nepatří, to smažu, zkoušel sem našeptávač měst, států a zemí. :-D

Připojen obrázek.

Záznamy v databázi jsou oloženy se ymboly jako y = ý , á = á, č = Ä apod.

Nahlásit jako SPAM
IP: 92.240.177.–
Kit+15
Guru
6. 10. 2018   #4
-
0
-

#3 fix
Zkus změnit COLLATE přímo na těch tabulkách. Zrychlí to řazení.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c8b5:ce75:7d5:1050...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix0
Stálý člen
6. 10. 2018   #5
-
0
-

#4 Kit
Omlouvám se nevím co myslíš, co mám dělat? COLLATE přímo na tabulkách? Myslel jsem, že to je nastavené dobře?

Nahlásit jako SPAM
IP: 92.240.177.–
Kit+15
Guru
6. 10. 2018   #6
-
0
-

#5 fix
Máš tam utf8_unicode_ci a utf_general_ci místo utf8_czech_ci.

Určitě ti to blbě řadí i "ch".

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:c8b5:ce75:7d5:1050...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix0
Stálý člen
6. 10. 2018   #7
-
0
-

Přišlo mi moc práce mazat celou databázi a znovu ji vytvářet, tak jsem použil ALTER TABLE, doufám, že výsledek by měl být stejný, nicméně to nefunguje, bezezměny. 

Připojen obrázek.Upravil jsem i všechny sloupce té tabulky

Připojen obrázek.

alter table <some_table> convert to character set utf8 collate utf8_unicode_ci;

Nenapadá tě prosím nějaké možnosti troubleshootingu? Kam a na co se podívat, co zkusit?

Nahlásit jako SPAM
IP: 92.240.177.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Razeni dle abecedy — založil Slupphy

Vypis vice dat podle abecedy — založil tribalcz

Řazení podle data — založil JMM

Řazení podle více sloupců — založil PetrCr

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý