[ Rodd @ 16.11.2003. 03:58 ] @
| Imam banalan problem (ne znam da li je ovoga vec bilo ali nisam uspeo da nadjem).
Ako neki string sadrzi nase karaktere, kada ga ispisem sa echo, dobijam kuke i motike.
Kada probam sa:
Code:
header("Content-Type: text/html; charset=windows-1250");
ž i š se ne vide dobro.
Probao sam i sa utf8_encode() ali opet kuke.
Na klijentu je XHTML:
Code:
<?xml version="1.0" encoding="windows-1250"?>
<!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">
Zna li neko lek?
[Ovu poruku je menjao -zombie- dana 16.11.2003. u 14:59 GMT] |
[ Goran Rakić @ 16.11.2003. 10:50 ] @
Prvo, ovo nije Unicode već Windows-1250 kodna strana što nema baš mnogo veze. Drugo, php ne radi nikakvu obradu karaktera, znači snimi php stranicu (ukoliko je string hardocode-ovan u nju) u istoj kodnoj stranici u kojoj i prikazuješ tekst ( <?xml version="1.0" encoding="windows-1250"?> ).
Ukoliko je string negde van same php skripte (txt fajl ili baza) onda se postaraj da pri unosu teksta on bude unet u istoj kodnoj stranici, odnosno tako što će stranica sa formularom biti u istoj kodnoj stranici.
To bi otprilike trebalo da bude to.
[ Gojko Vujovic @ 16.11.2003. 12:07 ] @
Lek bi ukratko bio da napustiš windows-* i iso-* charsete i pređeš potpuno na utf-8 koji lagano već postaje standard.
[ Rodd @ 16.11.2003. 15:16 ] @
Izvinjavam se, ispao sam glup u drustvu.
Ceo problem je bio u Dreamweaveru kojem nisam podesio encoding na windows-1250.
Sad sve radi kao sat.
[ Gojko Vujovic @ 16.11.2003. 16:01 ] @
Ok ti radi to ali ti i dalje ne koristiš unicode već taj ograničeni set karaktera propisan by microsoft.
Probaj da otkucaš neki od ovih znakova u njemu:
Naše navodnike: „ “ ” (kao jedan znak, ne spajanjem apostrofa :)
minus - crtica – crta — (minus postoji nego stavljam ga da bi se videla razlika, crtica je malo duža da bi se razlikovala od minusa)
€ ‰ • itd.. Da ne pričamo o podršci za više pisama na istoj strani. To samo unicode može.
[ Rodd @ 16.11.2003. 18:01 ] @
Uz rizik da ispadnem jos gluplji, Gojko, moram nesto da te pitam:
Ako krenem da koristim UTF-8 umesto windows-1250, da li ce srpska tastatura na windowsu da brlja, odnosno, da budem jasniji, da li ce npr. "ć" koje otkucam pod windowsom, da se vidi kao "ć" i na stranici kojoj je encoding promenjen na UTF-8? Jedan moj ortak je imao problema sa ovim, zato pitam...
[ Gojko Vujovic @ 16.11.2003. 18:22 ] @
Ma nije sramota pitati nemoj to da spominješ uopšte.
Elem, pogledaj source neke elitesecurity stranice. Svuda se koristi utf8 i mislim da nemaš problema sa korišćenjem naših latiničnih slova, zar ne?
Ovo govori browserima da posmatraju sadržaj kao utf8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
A nije zgoreg dodati utf-8 u http headere kao što si goreo probao to sa windows-1250 charsetom.
Sama tastatura u windowsu ili nekom sistemu nema mnogo veze sa ovim, bitno je da browser podržava utf8 i da ima fontove za to, a gotovo svi moderni sistemi to već podržavaju out-of-the-box.
Naravno pri prelasku se mora sve prebaciti u utf8, nije dovoljno samo promeniti headere! Dakle, sve scripte i sav sadržaj iz baze mora da se konvertuje, a ako se radi i popunjava sadržaj od nule onda nije problem pošto će od početka sve ići u utf8. Sva slova su normalna, a spec. karakteri zauzimaju 2 bajta, naša slova na primer. Za konverziju preporučujem iconv, a od windows alata unired to dobro radi (učitaš u jednom charsetu, snimiš u drugom i tako svaki fajl).
[ Rodd @ 16.11.2003. 22:04 ] @
Eto, otkrio sam jos jednu stvar o kojoj moram da razmisljam kad radim za domace klijente. Hvala ti.
[ Goran Rakić @ 17.11.2003. 12:38 ] @
I ne samo za domaće klijente, nikada ne znaš da li će neko internacionalizovati svoju internet aplikaciju.
Obavezno pogledaj:
http://www.joelonsoftware.com/articles/Unicode.html
http://www.joelonsoftware.com/items/2003/10/14.html
I ako hoćeš:
http://zombie.codewalkers.com/...icode_not_ready_for_prime_time
I da, obrati pažnju na ono što je Gojko rekao - U UTF8 neki karakteri imaju 1, neki 2 bajta, stoga vodi računa kako odsecaš tekst...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.