Diskuze: databáze diakritika.

PHP Nette Framework Nette framework databáze diakritika.

Avatar
Milan Gallas
Redaktor
Avatar
Milan Gallas:

Ahoj když uložím přes nette database data do tabulky mysql, uloží se mi místo znaků č a ř otazníky. Nette by mělo podporovat pouze kódování UTF-8. Tabulku a databázi v mysql mám v kódování utf8_czech_ci.
Porovnání pro připojení k databázi je utf8_general_ci.
V čem může být problém?

 
Odpovědět 25.10.2015 22:06
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Milan Gallas
Jindřich Máca:

Vím, že není slušné odpovídat na otázku otázkou, ale potřeboval bych vědět, kde se na ty data koukáš tj. vidíš ty otazníky. Např.:

  • Přímo na stránce, když ty data zpátky vykresluješ.
  • V nějakém webovém nástroji např. Adminer nebo PHPMyAdmin.
  • V nějakém desktopovém nástroji.
  • V něčem jiném?

Jde mi o to, na jaké/ých úrovni/ích může vzniknout špatná interpretace těch dat. :-)

 
Nahoru Odpovědět 26.10.2015 19:09
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Milan Gallas
Jindřich Máca:

Omlouvám, nějak se ten komentář odeslal 2x. :-D

Editováno 26.10.2015 19:10
 
Nahoru Odpovědět 26.10.2015 19:09
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Jindřich Máca
Milan Gallas:

Ty otazníky se mi zobrazí:

  • Přímo na stránce
  • v PhpMyAdminu, zkoušel jsem i v datAdminu a je to to samý.
 
Nahoru Odpovědět 27.10.2015 11:03
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Milan Gallas
Jindřich Máca:

V tom případě je problém přímo při ukládání dat do databáze. Tam, jak jsi sám psal, je jediný rozdíl a to mezi utf8_czech_ci a utf8_general_ci. Sice si myslím, že by to mělo fungovat i tak, ale za zkoušku nic nedáš, takže bych vyzkoušel to u té tabulky změnit také na utf8_general_ci.

Dále si dovolím poznámku, že i když celá tabulka má určité kódování, tak jednotlivé její sloupečky mohou mít úplně jiné, takže bych zkontroloval i tohle. :D

Pokud předchozí nezabere, tak pak přijde na řadu ruční debugging v podobě zkoumání kódování textu přímo v kódu např. pomocí http://php.net/…encoding.php. Tam by jsi pak měl být schopný odhalit, kde se Ti to kódování liší a poté dohladat příčinu. :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 27.10.2015 12:00
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Jindřich Máca
Milan Gallas:

Bylo to tímhle:

Dále si dovolím poznámku, že i když celá tabulka má určité kódování,
tak jednotlivé její sloupečky mohou mít úplně jiné,
takže bych zkontroloval i tohle.

Díky moc :-)

 
Nahoru Odpovědět  +1 27.10.2015 14:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.