Mám databázi ve znakové sadě UTF 8. I když je však prohlážeč nastaven na UTF 8, tak se mi v tabulkách zadaný text (jen písmena s háčky a čárkami) objevuje jako nějaká hatlamatlatilka. Mohl byste mi někdo poradit, co a jak?!
Na webu se, ale všechno zobrazuje správně! Jenom když ty texty edituju v db nebo pomocí nějakého mysql editoru, tak se mi zobrazí místo háčků a čárek klikyháky...
Tipuji to na problém s collation (porovnávání) v nastavení databáze. Měl bys tam mít utf8_czech_ci.
No jo, mám tam nastavený utf8_general_ci! Dá se to někdě nějak změnit?
Tak už sem to v databázi změnil na utf_czech_ci, ale pořád se mi to nezobrazí správně :(...
Shrnutí:
- data v db v UTF8
- na webu meta UTF8 - zobrazuje OK
- phpMyAdmin s utf8_general_ci i utf8_czech_ci - zobrazuje špatně
Je to tak?
Změnil jsi to na utf_czech_ci u tabulek i sloupců?
Já už fakt nevim!
Když se připojim pomocí MyDB Studio, tak mi to v Info ukáže:
Variable_name Value
collation_connection cp1250_general_ci
collation_database cp1250_general_ci
collation_server cp1250_general_ci
ale v databázi sem všechno změnil na utf_czech_ci
Takž je to vysvětleno. Data máš sice uložena v kódování UTF8, ale pro zobrazení přes klienta je konvertuješ do win1250! Proto ten chaos s diakritikou.
A je nějaký řešení, aby se mi to zobrazovalo normálně...?
Zkus se tam přihlásit přes phpMyAdmina.
I když se přihlásim přes phpmyadmin, tak se to nezobrazí správně...
Existuje tento skript:
http://www.webzdarma.cz/tmp/mysql-upgrade-src.php
(je tam jedna chyba $alterdatabasecharser=true; změň na $alterdatabasecharset=true;)
POZOR: já jsem tento skript nepsal a ani k němu nedávám záruky. Je to čistě na tvé riziko. Tak si rozmysli, jestli ho pustíš. Záloha db není od věci.
Ten $alterdatabasecharser je asi dobře. Někdo na to dříve upozorňoval a asi je to opraveno.