PDA

Pogčedajte punu verziju : include stvara charset problem


flash_back
22. 02. 2007., 18:07
imam jedan problem. Kada radim include/require neke stranice na charset utf-8 ne mogu da ispisem string, array.. sa 'našim' slovima.

Znaci ta tkz: 'naša' slova mogu pravilno da ispisem samo na istoimenoj stranici. Za resto moram da konvertujem slova u kodove npr: č -> &_#269 itd.

Dali mozda neko zna neko malo inteligentnije resenje problema?

cvele
22. 02. 2007., 18:35
posalji u headeru UTF-8

btw da li si siguran da si u oba dokumenta pisao sa UTF-8 ?
<?php header('Content-Type: text/html; charset=UTF-8'); ?>

flash_back
22. 02. 2007., 21:21
^ ista prica, nego 'snasao' sam se. samo sto ce objasnjenje da zvuci kao totalna ne buloza sto u principu i jeste..

znaci ne znam kako da se izrazim ali probacu na simple nacin. Taj php koji me je zezao je index za mapu sajta. Kada ubacim neko nase slovo npr: č i š unutra (konkretno u array na koji radim explode) slovo ne moze da se ispise kako treba bez sredjivanja charset ili prebacivanja u kod..

I sta ja uradim. Uzmem index.php (sa root-a sajta gde se slova lepo ispisuju) pastujem ceo kod sa mape sajta unutar tog indexa, uradim save na mapu koja me zeza (overwrite php-a) i da se covek zgrane slova se lepo ispisuju a sve je 100% isto. Neverovatno. Srecom sacuvao sam back-up index-a mape sajta koja me je zezala pa mogu isto i da dokazem.

Evo ponovo -> objasnjenje ali simple. Testirao sam barem 10 puta i svaki put efekat je isti. Moze i da se skorz ocisti kod i onda imamo bukvalno dva blank php-a (znaci bez ikakvog koda), jedan lepo ispisuje nasa slova a drugi ne.. :1043: Znaci ludnica

ajd sada cu da okacim, znam da je u principu ne moguce je ali tako kod mene sljaka.

flash_back
22. 02. 2007., 21:38
dobro je, nekako sam mislio sta ako sad na netu sve bude ok pa taman da se koknem :) ali srecom sve sljaka kao i na lokalu ;)

index.php (http://overheat-tuning.com/flash_back/php/nebuloza/index.php) - ok

index_BU.php (http://overheat-tuning.com/flash_back/php/nebuloza/index_BU.php) - bug

content oba .php-a je bukvalno isti:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
šđćč
</body>
</html>

neki zakljucak? ja sam bez odgovora na vidiku..

MorenoArdohain
22. 02. 2007., 21:46
A da li je filesize za oba fajla isti? :)

cvele
22. 02. 2007., 22:31
Ocigledno nisi u potpunosti razumeo moj odgovor.

Kada u nekom editoru otvaras novi dokument, njega otvaras sa nekim charsetom. Proveri setovanje u svom editoru, jer slozices se ako iz utf8 dokumenta pastujes tekst u iso ili nesto drugo... to nece na dobro izaci.

flash_back
22. 02. 2007., 22:46
^ u pravu si, dreamw. 8 je izgleda brljavio. ja sam kreirao novu stranicu, pocistio sve default postavljeno u njoj i sa svojih 4-5 funkcija povukao ceo layout sajta (ukljucujuci i header sa utf-8) i samo opicio po kodu.

Sigurno je sama stranica nastavila da se vrednuje kao iso-8859-1 (kao na pocetku - pre nego sto sam ocitio default page tagove) i tu je doslo do konflikta ;) nema drugog logicnog objasnjenja :)

A da li je filesize za oba fajla isti? :)

Ima male razlike :)

Pedja
24. 02. 2007., 08:01
^ u pravu si, dreamw. 8 je izgleda brljavio. ja sam kreirao novu stranicu, pocistio sve default postavljeno u njoj i sa svojih 4-5 funkcija povukao ceo layout sajta (ukljucujuci i header sa utf-8) i samo opicio po kodu.


Ja bas htedoh da pitam da ne korsitis mozda DW :)

On ima jednu malu kvaku, za svaki dokument moras da podesis enkoding (Modify / Page properties / Encoding). To mozes da podesis kao default za sve dokumente.

To sto si upisao u dokument kao enkoding je namenjeno veb citacima, ali stvarni enkoding samog dokumenta podesavas u Properties strane.

Dok tu ne podesis ispravan enkoding imaces problema ali kada ga podesis sve radi kao sat. Pored Notepad-a ovo je jedini HTML editor koji sam nasao da radi vrlo lepo sa kodnim stranama. Notepad samo ima kvaku sto za UTF8 dokument upisuje ona prva dva bajta.