Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno MySQL 5 a české znaky

Mám problém s novou verzí MySQL, totálně blbnou české znaky, můžete se podívat na clanky.php, co z toho článku tato verze MySQL udělala za zrůdu. Nevím co chlapíci ze Švédska zase zmýšlají, ale nějak jim to blbne řekl bych, fakt mě nebaví se co půl roku učit nové věci ohledně kódování v MySQL.

Po připojení k databázi pošlu dotaz mysql_query(" SET NAMES utf8 ");
Databáze má znakovou sadu utf8_general_ci, tabulky v DB rovněž, sloupce utf8_czech_ci.
Data do DB dostávám přes phpMyAdmin 2.9.0.2 pomocí vyexportovaných SQL dotazů z programu MySQL Front 3.2.

Předmět Autor Datum
<meta... charset=windows-1250" /> pro začátek utf-8 místo windows-1250 :-)
ivitek 12.02.2007 19:58
ivitek
Tak jsem to zkusil a stránky mi na chvíli (než jsem to vrátil zpět) zmizely z očí. Nešly styly, titu…
Kuncek 12.02.2007 20:03
Kuncek
Vtip je v tom, že stránky máš v cp1250 a s databází komunikuješ v utf-8, takže máš kus stránek v cp1…
ivitek 12.02.2007 20:29
ivitek
Hmm, to není moc potěšující. Takže HTML není jedno odkud mu nastrčíš a poskládáš kód? UTF-8 dělá hod…
Kuncek 12.02.2007 20:40
Kuncek
mám celé stránky v utf a nedělá mi to v IE (6,7) žádný problém, zkontroluj ty bity, protože jinak se…
ivitek 12.02.2007 20:45
ivitek
OK, zkusím se podle tebe zařídit, takže ty ident. bity musím zapnout? A pak přeuložit všechny soubor…
Kuncek 12.02.2007 20:54
Kuncek
NE, naopak vypnout, a pak přeuložit všechny soubory, pokud chceš pracovat s utf-8, u ostatních kódov…
ivitek 12.02.2007 20:59
ivitek
Je zrušeno (není zaškrtnuto)... Už to tak bylo. Takže to rozhození stránek v utf-8 asi nebylo tím.
Kuncek 12.02.2007 21:03
Kuncek
to asi nebylo, protoze soubory ze kterych mas poskladany stranky jsou predpokladam v cp1250 :-) jen…
ivitek 12.02.2007 21:10
ivitek
Jo, to sice bylo vyplé, ale kódování bylo nastaveno na cp1250.
Kuncek 12.02.2007 21:36
Kuncek
Tak fakt díky, zdá se, že už to faká jak má.
Kuncek 12.02.2007 21:42
Kuncek
tak to jsem rád :-)
ivitek 12.02.2007 21:48
ivitek
Gratuluji vám oběma: jednak k vyřešení problému a hlavně k ukázkovému dialogu - slušně, věcně, jasně…
host 12.02.2007 21:54
host
Od tebe to rád slyším... Dík poslední
Kuncek 12.02.2007 21:55
Kuncek
Do toho phpMyAdmina ten SQL dotaz kopíruješ přes schránku nebo nahráváš z textového souboru? Zkus to…
host 12.02.2007 20:03
host
Pomocí schránky, protože tam není nabídka Procházet na vložení souboru, jak to bývalo dřív. Nevím pr…
Kuncek 12.02.2007 20:04
Kuncek
Část SQL souboru vypadá teď takto (po mnoha úpravách): CREATE TABLE `clanky` ( `ID` int(11) NOT NUL…
Kuncek 12.02.2007 20:06
Kuncek

Vtip je v tom, že stránky máš v cp1250 a s databází komunikuješ v utf-8, takže máš kus stránek v cp1250 a kus v utf - jak se pak můžou zobrazit korektně? :-) BTW šel bych spíš do utf-8 - jednak to není MS proprietární kódování a jednak je univerzální :-) A ještě pokud to píšeš opravdu v PSPadu - vypni si nastavení Ident bity v utf-8 jinak ti to bude dávat do každého souboru v utf-8 BOM :-)

Hmm, to není moc potěšující. Takže HTML není jedno odkud mu nastrčíš a poskládáš kód?
UTF-8 dělá hodně problémy v IE (ikdyž je tento prohlížeč dost strašný, používá jej nejvíc lidí). V PSPadu to píšu, ident. bity jsou asi defaultně vyplé, ale stejně tomu nerozumím.
Tzn. všeccho přehrabat do cp1250? To bych rád, ale budu to muset nějak vykoumat...

mám celé stránky v utf a nedělá mi to v IE (6,7) žádný problém, zkontroluj ty bity, protože jinak se na začátek každého souboru v utf připojí BOM značka a hapruje to v IE6 (zobrazí tu BOM značku), jinak není s utf sebemenší problém a upřednostnil bych ho před cp1250 !!! a nebo pokud stojíš o čistě české kódování použij mezinárodní standard iso-8859-2 :-)

to asi nebylo, protoze soubory ze kterych mas poskladany stranky jsou predpokladam v cp1250 :-) jen k nim pridavas data z databaze v utf-8 a tam by nemel byt problem :-) proste soubory i data z databaze musi mit stejne kodovani :-) ale obavam se ze ani data v databazi nejsou taky uplne v utf-8 :-) to by se aspon ty zobrazily spravne pri zmene kodovani...

Část SQL souboru vypadá teď takto (po mnoha úpravách):

CREATE TABLE `clanky` (
`ID` int(11) NOT NULL auto_increment,
`nazev` varchar(255) character set utf8 collate utf8_czech_ci default NULL,
`clanek` text character set utf8 collate utf8_czech_ci,
`sekce` varchar(10) character set cp1250 default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Ale radši bych to viděl pod cp1250, utf8 nějak nemám rád.

Zpět do poradny Odpovědět na původní otázku Nahoru