Autor | Zpráva | ||
---|---|---|---|
FuMa Profil * |
#1 · Zasláno: 29. 12. 2012, 13:32:52
Čau,
řeším takový podivný problém, už po několikáte, vždycky to nakonec nějak náhodu nastavím tak aby mi to fungovalo, ale rád bych to i pochopil, proto sem píšu o radu. Do databáze vkládám například jméno, nebo řpíjmení uživatele. Tyto údaje dost často obsahují diakritiku, databázi mám nastavenou na UTF8_czech_ci, v kódu, kterým se připojuji k databázi mám mysql_query("SET CHARACTER SET utf8_czech_ci"); Normálně mi při vytzažení z databáze diakritika funguje, ale nyní jsem si napsal funkci: function get_uzivatel($co,$id){ $v = sql("SELECT ".$co." FROM uzivatele WHERE id=".$id.";"); $z=sqlfr($v); return $z['0']; } funkce, funguje tak jak má, ale vrací mi místo háčků a čárek, takové ty divné otazníky v kosočtverci. V souboru, do kterého vkládám funkce mám k=odování nastaveno na UTF8, i v editoru mám kodování nastveno na UTF8, nevím v čem může být problém :( Předm dík za rady :) |
||
ShiraNai7 Profil |
FuMa:
„připojuji k databázi mám mysql_query("SET CHARACTER SET utf8_czech_ci");“ Spíš takhle: SET NAMES `utf8` Případně: mysql_set_charset('utf8'); |
||
FuMa Profil * |
#3 · Zasláno: 29. 12. 2012, 14:03:59
Vyskoušel jsem oba dva, ale pořád mi to nefunguje :(
V databázi mám například ve jméně napsáno Tomáš, ale když to pomocí té funkce vypíšu: echo get_uzivatel("jmeno","1"), tak mi to napíše Tom�. Přítom, při všechn možnostech (set names, i to moje, i mysql_set ....) tak v jiné tabulce, když to nevypisuji pomocí zvláštní funkce, ale "normálně" $v = sql("SELECT ".$co." FROM uzivatele WHERE id=".$id.";"); $z=sqlfr($v); echo $z[0]."tohle je tvoje jméno"; |
||
ShiraNai7 Profil |
#4 · Zasláno: 29. 12. 2012, 14:23:38
FuMa:
Skript musí samozřejmě posílat správnou hlavičku (nejlépe někde na začátku): header('Content-Type: text/html; charset=UTF-8'); |
||
Časová prodleva: 11 let
|
0