Autor Zpráva
Petr-K
Profil *
Ahoj,
sice tu tohle téma bylo opakováno tisíckrát, ale já už opravdu nevím.

Tabulky v databázi vytvářím s nastavením CHARSET = utf8 COLLATE = utf8_czech_ci
Stránky jsou kódovány v utf8

Nejdříve jsem měl problém, že se text do tabulky uložil správně ale na webu zobrazoval špatně.
Začal jsem tedy používat SET NAMES 'utf8'

Přidělal jsem další formulář na editaci jiných dat a ten mi do databáze neukládá češtinu. Namísto "ěščřžýáí" -> "ěščřžýáí"
Toto mohu také obejít SET NAMES 'cp1250' a je to v pohodě, ale pro mě je samozřejmě důležitě, mít vše sjednocené a ne jednou tak a podruhé onak. A navíc nechci mít v DB uložené nesmyslné znaky.

Chyba nejspíš vznikla při odesílání řetězce do DB ale nevím kde, v jaké části a jak ji hledat. Dá mi někdo nějaký tip?
Díky.

PS: už jsem zkoušel tabulky zakládat znovu s důrazem na kódování a i jsem předělával stránky, tak aby každá byla v UTF, ale nic... :(
Taps
Profil
Petr-K:
a do jakého kodování je uložena stránka, ze které odesíláš data do databáze. Také zaleží na tom jaké kodování je uvedeno v metatagu
Petr-K
Profil *
Všechny nové stránky jsou zakládány v UTF a v meta tagu je samozřejmě take utf:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Tori
Profil
Někdy se mi zobrazila stránka ve špatném kódování i přes správné nastavení meta tagu a DB, zřejmě kvůli jinému výstupu ještě před doctypem. Pomohlo posílat HTTP hlavičku explicitně:
header("Content-Type: text/html; charset=utf-8");


edit: Aha, pardon, vám jde vlastně o uložení do db. Četla jsem nepozorně.
Kajman_
Profil *
Petr-K:
Všechny nové stránky jsou zakládány v UTF

A staré stránky? Hlavně ta, ze které zlobí odeslání formuláře.
Petr-K
Profil *
Kajman:
Jj, pro jistotu jsem si předělal i staré stránky a nic.

Tori:
Parada, měl jsi pravdu, pomohlo to. Stačilo "ošéfovat" výstupy před doctypem. Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0