Session i utf-8 unutar html-a problem

Pozdrav, novi sam ovdje pa ne znam da li je bilo ovdje već ovakvog pitanja…

Uglavnom, problem je sljedeći:
-kad se korisnik logira spremim u session njegovo ime($_SESSION[‘ime’])
-recimo da sam stavio da je ime Nataša
-kada printam session prije onda normalno ispiše Nataša, ali problem nastane kada printam unutar tagova, tada mi printa Nata?a

Ono sto sam probao:
-utf8_encode i utf8_decode - ne pomaže
-definirao sam da html treba imati podršku za utf()
-pobao sam headerom definirat podrsku za utf

Uglavnom sva rijesenja sam ispucao, nemam vise ideja, znaci u sessionu bude tocno spremljeno ime(Nataša), ali unutar html tagova to ne moze pravilno printat…

PHP verzija: 5.3.8

ako netko ima kakvu soluciju zahvaljujem

probaj cijeli html file save-at kao utf8 ako nisi

Koji editor koristiš?
Možeš li točno reći kako si iskoristio utf8_encode i utf8_decode?

jesam, nije do toga, rade u htmlu utf-8 znakovi, problem je samo u sessionu

[quote=“toniperic”]Koji editor koristiš?
Možeš li točno reći kako si iskoristio utf8_encode i utf8_decode?[/quote]
dreamweaver…

prvo enkodirao, pa onda dekodirao, to sam dobro radio, pr:
$string = “Š Đ”;
echo utf8_decode(utf8_encode($string)); - printat će Š Đ

ali ovo ne valja unutar htmla:
$_SESSION = “Nataša”;
echo utf8_decode(utf8_encode($string)); // unutar html taga printa: Nata?a, a izvan html taga printa Nataša

možeš testirat pa se uvjerit…

uglavnom nisam imao problema prije sa php-om sto se tice utf znakova u sessionu…

ne mogu edit :S

gore sam naravno pogresno napisao:
$_SESSION[‘ime’] = “Nataša”;
echo utf8_decode(utf8_encode($_SESSION[‘ime’] ));

Pokušaj otvoriti istu datoteku u nekom drugom editoru, ali prije toga u opcijama (ili možda čak prilikom snimanja) makni kvačicu sa opcije “Save with BOM”.

U Notepad++ ovo ti je 5 sekundi posla.

[quote=“toniperic”]Pokušaj otvoriti istu datoteku u nekom drugom editoru, ali prije toga u opcijama (ili možda čak prilikom snimanja) makni kvačicu sa opcije “Save with BOM”.

U Notepad++ ovo ti je 5 sekundi posla.[/quote]
već je snimljeno tako… nista ne pomaze, znaci prvo sam i mislio da je do dreamweavera pa sam i s notepad++ probao…

sad sam malo trazio na googleu rijesenje i nasao sam zanimljive stvari, neki ljudi imaju slican problem kao ja, samo oni nisu navodili jel to unutar html tagava, ali problem je vec nastao sa 5.2 verzijom php-a, barem ono sto sam procitao…

napravio sam i funkciju da sam konvertiram znakove ali nije mi niti to pomoglo unutar html tagova…

slobodno probaj ovo moje stavit u php skriptu, pa vidjet rezultat(probaj jednom izvan html-a, drugi puta unutar html taga)

Ok, debugao sam malo problem i nasao, no sad kako ga rijesiti…

ovako spremam session prezime:
$_SESSION[‘prezime’] = $korisnikarray[‘prezime’];//$korisnikarray je array koji dobijem s mysql_query-em, odnosno mysql_fetch_array

i sad ako spremam u session za tu vrijednost npr: Živković i kasnije pozovem u bilo kojem fileu taj session unutar html taga printa ovo: ?ivkovi?..

Ali ako spremim direktno string:
$_SESSION[‘prezime’] = “Živković;” - onda bilo gdje printa Živković…

Mislim, nemam više živaca s tim, ima netko kakvo rješenje?

ok ja se ispričavam na trecem postu za redom, no vise ne mogu editirat…

uglavnom problem je rijesen(uz pomoc na phpfreaks forumu), nisam jednostavno znao da moram u php-u staviti i za mysql charset…

mysql_set_charset(‘utf8’); je rijesilo svaki problem…

nazalost prvo sam mislio da je problem direktno u fileu gdje pozivam session, no ipak je ispalo nakon debuganja da je problem sa podatkom u arrayu kojeg sam dobio iz mysql_fetch_array…

hvala na sugestijama


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja