Autor Zpráva
quatzael
Profil
Z formuláře si odešlu metodou post data z formuláře do souboru .php, ve kterém je chci jen uložit do databáze a pak udělat redirect na jinou stránku.

Jenže (asi) tím, že tam nemám žádné: <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
tak mi tam nefunguje čeština a ty hodnoty proměnných mají být i s českou diakritikou, jenže tady mi to dělá bordel.

Potom potřebuju stránku pomocí header jenom předireknout, takže tam žádný meta dávat nemůžu.

Nevíte někdo co s tím?
Alphard
Profil
To, co jste uvedl, má vliv jenom na zobrazenou stránku a tu nezobrazujete. Zaměřte se na to, aby byl soubor samotný uložen ve stejném kódování, jaké udává meta tag na stránce s formulářem a u databáze nastavte set names.
quatzael
Profil
Alphard:
Všechno to mám v UTF-8..

Nejde jen o databázi.. Už jen když zadám echo $_POST['neco_s_diakritikou'];
tak to zobrazí špatně..
Alphard
Profil
Když dáte echo, tak něco vypisujete a může tam být i meta tag, ne?
quatzael
Profil
Alphard:
Tak tam teda mám dát ten meta tag??

Nerozumím jak to myslíte..

Já tam teď dávám jenom echo, abych pro kontrolu viděl co se přeneslo z toho formuláře.

Jediný co potřebuju v tomhle skriptu je, aby se zapsaly hodnoty z proměnné $_POST do databáze a následně to přesměrovalo na jinou stránku pomocí header..

tím, že to neumí češtinu, tak je ten příkaz do databáze špatně, asi tam jsou někde navíc apostrofy, nevím, je tam něco přes sto proměnných, který potřebuju zapsat..
Kajman
Profil
Data přijdou v kódování, které je použité na stránce s formulářem. Toto kódování nastavte mezi připojením a insertem. Nějaké přesměrování po insertu už nemá přeci žádný vliv.
quatzael
Profil
ok, používám ale mysqli, takže co tam mám napsat? jenom tohle?
mysqli::set_charset



už vím, takhle:
$instance_mysqli->set_charset("utf8");



Supr, funguje!! Dík moc!!

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: