abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 3
    včera 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    včera 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    6.5. 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.5. 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    6.5. 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (13%)
     (16%)
    Celkem 134 hlasů
     Komentářů: 9, poslední včera 22:07
    Rozcestník

    Dotaz: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cestinu

    3.5.2006 15:56 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cestinu
    Přečteno: 377×
    Zdravim

    Cestina v MySQL je vecne tema...

    Z drevnich dob pochazi situace, kdy nastaveni databaze, tabulek i sloupcu bylo latin1 a latin1_swedish_ci. Data se tam ukladala v cp1250. No proste jsem nevedel jak se s tim zachazi...

    Rozhodl jsme se to dat do poradku. Nejprve jsem zmenil kodovani databaze na latin2 a i kazdou tabulku jsem zmenil na latin2. Tim doslo k tomu ze se mi šŠžŽ prepsaly na otazniky, ktere jsem rucne opravil (zas tak moc dat tam neni).

    Problemem vsak je ze razeni sloupci zustalo na latin1_swedish_ci.

    Pri zakladani nove tabulky uz ted volim latin2 a tak je vychozi razeni latin2_general_cs.

    Problem je, ze nemuzu provadet joiny, jelikoz to rve nejakej nesoulad v collation ruznych tabulek.

    Reseni se nabizi, latin1_swedish_ci prepsat na latin2_general_ci. Pripadne na latin2_czech_cs, ale to pro me neni vubec dulezite.

    Zkousel jsem rucne v PhpMyAdminovi predelat razeni na latin2_.... Zkousel jsem data exportovat, nahradit vyskyty latin1_swedish_ci za latin2_general_ci. Zkousel jsem skript odsud: http://php.vrana.cz/prevod-kodovani-mysql.php.

    Vysledkem vseh zpusobu bylo vzdy to same: misto vetsiny ceskych znaku se mi zobrazujou otazniky. Dokonce jsem zjistil, ze ani do novych tabulek uz vytvorenych s razenim latin2_general_ci se ulozi jen nektere ceske znaky. Ted uz se ale nejedna o sSzZ, cili wokenni kodovani v tom uz nehraje roli.

    Vypozoroval jsme ze jakmile ma sloupec nastaveny collation na latin2_... tak do nej nemuzu ulozit cestinu.

    Urcite s tim souvisi iu to, ze kdyz naimportuju do databaze puvodnbi data s collation latin1_swedish_ci a v PHP je ctu, je vse zobrazeno v poradku. V PHP kodu ted nemam zadne nastavovani kodovani.

    Kdyz jsme na radu nize uvedenych webu do PHP kodu hned za pripojeni k databazi pridal "mysql_query('SET CHARACTER SET latin2');" vysledkem byly opet otazniky misto cestiny.

    MySQL je 5.0.19 ze slackwaru, na konfigurak jsme vubec nesahal. PhpMyAdmina mam staryho 2.5.7-pl1, protoze novejsi zobrazi nejen otazniky, ale totalne zmrsi cestinu i tam kde to ve starem adminovi funguje bez probelmu. Zrejme mi v systemu neco chybi nebo je tam bug.

    Prozkoumal jsem tyto weby:

    http://php.vrana.cz/mysql-4-1-kodovani.php

    http://forum.builder.cz/read.php?21,1557932

    Nevite nekdo co s tim?

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf

    Odpovědi

    3.5.2006 16:52 iji | skóre: 29
    Rozbalit Rozbalit vše Re: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cesti
    Na tvoji otazku bohuzel neodpovim, ale odpoved mne zajima :)
    Nebylo by vsak dnes vhodnejsi misto latin2 volit utf8?
    3.5.2006 16:55 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cesti
    Přiznám že jsem to nečetl celé :-).

    Používej SET NAMES místo SET CHARACTER SET, je to spolehlivější (to druhé nastaví jedno kódování podle databáze, takže tam může být v podstatě cokoliv).

    Pokud už máš data v tabulkách dobře, ale blbě nastavené collation, tak musíš převádět přes nějaký binární typ (např. BLOB), tím se data nezmění. Při přepnutí z latin1 na latin2 se data převedou z latin1 na latin2 a samozřejmě to dopadne špatně.

    A vůbec je tu na to FAQ.
    3.5.2006 21:35 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cesti
    Dik za tip. SET NAMES jsem na webu videl taky, ale bylo to spis nedoporucovano. Nicmene ty jses odbornik.

    Ten prevod pres BLOB dela skript, kterej jsme zminil. Ze prio zmene collation se data konvertuji jsem si uz precetl. Reseni byly nabidnuta dve. Prevod pres BLOB nebo export do textoveho SQL, rucni nahrazeni collation a import zpet do database. Vysledkem obou byly otazniky.

    S tim utf8 to mozna jeste zkusim, cetl jsem ze to jeste porad zlobi.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    3.5.2006 21:59 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cesti
    Já nevím proč s tím všichni mají tolik problémů. O víkendu jsem převedl hromadu databází v češtině z MySQL 3.23.cosi na 4.1, všechno na první pokus bez problémů :-).
    1. V phpMyAdminovi zapnuté překódování
    2. Export tabulek ze staré verze do utf-8
    3. V nové MySQL vytvořit databázi s nějakým utf-8 collation
    4. Do této databáze nahrát dump v utf-8 (a zadat že je v utf-8, třeba přidat na začátek SET NAMES)
    1. + 2. se dá nahradit mysqldumpem a převodem v iconvu nebo něčem podobném.
    4.5.2006 09:31 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: OT: MySQL, db v latin2, pri collation latin2_cokoliv neulozi cestinu
    Problem byl prosty, mily Watsone. Za vsecho mohl stary PhpMyAdmin.

    Zde je psano, ze nejstarsi verze admina, ktera je vhodna pro dobrou praci s ruznymy kodovanimi je 2.6.3. Jenze ja mel 2.5.7. Tak jsem zkusil verzi 2.6.4-pl4 a ejhle, zacalo fungovat jak utf8 tak i latin2.

    Nakonec jsem web i databazi nechal v latin2.

    Pouzil jsem metodu exportu do souboru, nahrazeni vsech vyskytu latin1 za latin2 a zase import. Mimochodem uplůne stejne to slo pro utf8, jen jsem to jeste mezitim konvertovat latin2->utf8 pomoci iconvu.

    Druhy problem byl skutecne v mysql_query('SET CHARACTER SET latin2');. Nekde to jeste porad zlobilo. Doporucovane MySQL_query("SET NAMES 'latin2'"); funguje jak ma.

    Takze ted jsem snad konecne happy.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf

    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.