Mám problém, když něco zapíšu do db skriptem, zapíšou se jisté znaky špatně (dolní tři řádky: deel2.wz.cz/sql/neco.jpg ). Ale když z ní čtu, vše se vypíše v pořádku.
Naopak, když neco přidám přes phpmyadmin, vše vypadá phpmy. v pořádku (horní řádek na obrázku), ale vypisují se otazníky
Pokusil jsem se vše udělat v utf8, ale stále na to nemůžu přijít. Poraďte jak postupovat od začátku. (už se to tu řešilo, zkusil jsem SET NAMES, ale stále stejné).
Už to tady šlo mockrát, takže jen stručně, jinak použij funkci vyhledávání ve zdejším fóru.
Aby šla diakritika z db správně a bez problémů, je třeba:
1. Zvolit jedno kódování. UTF8 ti schvaluji, je s tím nejméně problémů.
2. HTML stránky musí být v UFT8 včetně strávného meta tagu
3. Po mysql_connect by mělo být mysql_query("SET NAMES utf8");
4. V MySQL musí být Porovnávání nastaveno na UTF8 (já používám utf8_czech_ci) na úrovni databáze, tabulek a textových sloupců.
Takže porovnávání nastaveno všude(úplně všude). (?)
Musíš si nastavit kódování stránky tak, aby bylo kompatibilní s databází, takže pro kódování WINDOWS-1250 použiješ za příkazem výběru db @mysql_query("SET NAMES cp1250"); a pro UTF-8 místo toho @mysql_query("SET NAMES utf8");
Já osobně sem rozchodil pouze variantu WINDOWS-1250 s CP1250, UTF-8 mi texty mimo databázi nekódovalo správě (místo písmen s háčky byly otazníky).
Tak jsem to nakonec udělal ve win1250, protože utf8 nedělalo co jsem chtěl (cpaly se tam otazníky)