Portál AbcLinuxu, 26. dubna 2024 12:36


Dotaz: MySQL a čeština

6.1.2008 13:04 Pepa
MySQL a čeština
Přečteno: 532×
Odpovědět | Admin
Dobrý den,
stále se mi nedaří rozchodit v MySQL češtinu. Mám v perlu prográmek, který mi vytvoří databázi. Data bere ze souboru s kódováním utf8. Databázi vytvořím s kódováním utf8:
CREATE DATABASE jmeno_databaze CHARACTER SET utf8 COLLATE utf8_general_ci;
I jednotlivé tabulky sem už zkoušel nastavit na utf8:
CREATE TABLE jmeno_tabulky (...) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Při výpisu v perlu je čeština, kterou posílám do databáze OK. Ale jakmile se po vytvoření databáze podívám na data v PHPMyAdmin, nebo si nějaká data z databáze načtu pomocí PHP, tak je čeština zkomolená. Např.:
slovo "křížová" vypadá "křížová"
Už mě nenapadá co s tím. Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jan Drábek avatar 6.1.2008 13:16 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: MySQL a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
Posíláte v PHP skriptech správně header? a zahajujete správně komunikaci s MySQL serverem?

header('Content-Type: text/html; charset=utf-8');

mysql_query("SET CHARACTER SET utf-8");

mysql_query("SET NAMES utf-8");

U těch posledních dvou jsi nejsem jistý jestli tam nemá být utf8
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
6.1.2008 13:53 Pepa
Rozbalit Rozbalit vše Re: MySQL a čeština
Problém byl při vytváření databáze. Po doplnění uvedených dvou SQL příkazů (utf8 bez pomlčky) je vše v pořádku. Díky moc
6.1.2008 16:41 Creckx | skóre: 23 | blog: cxblog | Lanškroun
Rozbalit Rozbalit vše Re: MySQL a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pozor na utf8 v mysql! V projektu genshi je asi rok známý bug, který s genshi nemá moc společného. Převádí se tam utf8 na unicode (python) a pokud se použije jako zdroj dat mysql, tak ve 4 z 5 případů genshi hodí vyjímku. Vypadá to, že mysql vždycky vrací nějaké jiné složení bitů a python to nerozdejchá. Žádné nastavení mysql serveru ani spojení ve scriptu nepomohlo. Z toho důvodu je lepší utf8 v mysql nepoužívat a nebo přejít na jinou databázi.
Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.