abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 15
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (14%)
    Celkem 83 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: mysql triedenie utf8_general_ci + unique index

    5.7.2010 13:33 fraxinus | skóre: 20 | blog: fraxinus
    mysql triedenie utf8_general_ci + unique index
    Přečteno: 691×
    Pouzivam mysql databazu. Vsade pouzivam utf8. Mam tabulku s varchar stlpcom. Nad tymto stlpcom mam unikatny index. Ked pouzijem collate utf_general_ci tak "Pl" a "PL" je pre neho to iste. Tiez napr. "S" a "Š" je pre neho to iste takze tam nemozem insertovať. Ten unikatny index skutocne potrebujem kvoli zachovaniu konzistencie. Použil som teda collate utf_bin. Teraz ale zase nefunguje triedenie takze diakritika je na konci: "Š" je za "Z". Ked explicitne v selekte uvediem že chcem order by collate utf8_general_ci tak zahlasi chybu ze to ned binarnym stlpcom nie je mozne.

    Co s tym? Obavam sa ze riesenie neexistuje.

    Zhrnutie: Potrebujem case-sensitive unikatny index a zaroven korektne triedenie diakritiky.

    Řešení dotazu:


    Odpovědi

    5.7.2010 14:13 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Určite tam nemáš nejakú chybu? Vytvoril som tabuľku a v jednom stĺpci som pre zotriedenie použil utf8_bin (a unikátny index) a SELECT * FROM `test` ORDER BY `text` COLLATE utf8_general_ci mi funguje bez problémov.
    5.7.2010 14:52 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    mysql> set names utf8;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> create table foo (bar varchar(5) character set utf8 collate utf8_bin);
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> insert into foo values ("S");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Š");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Z");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Ž");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from foo order by 1 collate utf8_general_ci;
    ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'binary'
    
    5.7.2010 15:12 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Zoraďuješ to podľa čísla (binárnej hodnoty) a tam ti to fungovať nebude. Collate musíš použiť pri stĺpci, pri ktorom to má zmysel (takže ORDER BY `bar` fungovať bude).
    5.7.2010 17:04 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    > Zoraďuješ to podľa čísla (binárnej hodnoty) a tam ti to fungovať nebude.

    Myslis to cislo za order by?

    >> select * from foo order by 1
    5.7.2010 17:09 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Áno. Zoraďovanie (collate) funguje pri reťazcoch a nie pri číslach (čiže collate nemôžeš použiť na stĺpce typu INT a podobné).

    Ak chceš naozaj zoraďovať podľa nejakého čísla, tak tam to collate nedávaj.
    5.7.2010 17:13 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    to nie je tym, to je uplne ina nesuvisiaca chyba. Ak je v selekte COLLATE, neda sa pouzit na identifikaciu stlpca jeho poradie ale len jeho meno!
    Řešení 1× (fraxinus (tazatel))
    5.7.2010 17:11 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    No to je ale podraz od mysql. Skutocne toto funguje len ak uvediem nazov stlpca, nie jeho poradie:

    select * from user order by name collate utf8_general_ci -- funguje
    select * from user order by 1 collate utf8_general_ci -- NEFUNGUJE
    select * from user order by name -- funguje
    select * from user order by 1 -- funguje (zotriedi podla prveho stlpca)
    8.7.2010 15:52 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    „ci“ v „utf_general_ci“ znamená „case insensitive“. Co takhle to nahradit za „utf_general_cs“?
    8.7.2010 16:07 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Nie sú všetky porovnávania v MySQL len case insensitive? (teda okrem tých binárnych)
    8.7.2010 16:18 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Nejsou
    8.7.2010 16:23 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    I když teď koukám, že MySQL nemá „utf8_general_cs“, to je stále pouze ve stádiu návrhu

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.