Portál AbcLinuxu, 10. května 2025 12:08

Dotaz: Problém s kódováním

5.8.2007 15:52 djkiller
Problém s kódováním
Přečteno: 655×
Odpovědět | Admin
Mám problémy s kódováním UTF-8 v MySQL. Když jsem vložil text s diakritikou přes phpMyAdmin a následně jsem ho zobrazil v php skriptu se zobrazily jen znaky, ale phpMyAdmin ho zobrazí správně. Pokud text vložím přímo ze skriptu tak ho potom skript zobrazí správně, ale phpMyAdmin špatně. Pokud použiji MySQLQueryBrowser tak text, který vložil skript se zobrazí špatně, proto bych řekl že problém bude někde v databázi. PhpMyAdmin hlásí že znaková sada v MySQL je UTF-8 Unicode (utf8) (porovnání je také UTF-8 Unicode). Databáze i tabulky mají porovnání utf8_czech_ci. V MySQL Administrator v Server Variables-SQL-Charset mají všechny character_set hodnotu utf8 a collation utf8_czech_ci. Kde může být chyba? Předem díky.
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

kozzi avatar 5.8.2007 16:23 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Problém s kódováním
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemas jen spatne nastavenej browser?
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
5.8.2007 16:24 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Problém s kódováním
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://www.abclinuxu.cz/faq/web/mysql-phpmyadmin-problem-s-kodovanim
Urine should only be green if you're Mr. Spock.
5.8.2007 23:05 djkiller
Rozbalit Rozbalit vše Re: Problém s kódováním
Tak problém jsem identifikoval, ale potřebuji s ním poradit. Zjistil jsem že character_set_results je nastaveno na latin1 (a ještě pár dalších). To je ovšem jen u local, v global je vše správně na utf8. Jak to změnit?
6.8.2007 00:01 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Problém s kódováním
je to napsano v tom faq ... "SET NAMES utf8" ... proste se pripojujete a nerikate, v jakem kodovani budete krmit data, takze se vybere default a to je latin1
Urine should only be green if you're Mr. Spock.
6.8.2007 00:34 djkiller
Rozbalit Rozbalit vše Re: Problém s kódováním
Vím, že pomůže když před dotazem ještě zavolám SET NAMES, ale je možné změnit default z latin1 na utf8, abych nemusel vždy volat SET NAMES?
6.8.2007 12:48 djkiller
Rozbalit Rozbalit vše Re: Problém s kódováním
Problém úspěšně vyřešen :) Stačí v my.cnf do [mysqld] přidat init-connect = SET NAMES utf8; a teď se bude SET NAMES volat automaticky při každém novém spojení.
6.8.2007 16:03 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Problém s kódováním
Nebo to jde takto:
character-set-server=utf8
skip-character-set-client-handshake
Never give up ! Stay ATARI !

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.