[ F F F F @ 28.07.2007. 14:00 ] @
Sajt koji pravim koristi jednu funkciju za parsiranje xml fajlova (rss feedova). znači preuzima item-e sa drugih sajtova i ispisuje ih na mom.

Pitanje je:
pošto neki sajtovi nude xml fajl u utf-8 encodingu a neki u windows 1250, ja nikada ne dobijem ispravna naša slova (pošto ispisujem iteme sa više sajtova odjednom), dakle ili su jedna dobra ili druga. kako ovo da rešim da sve ispišem u jednom encodingu? da li pre nego što u bazu upisujem treba da dekodiram nekako slova ? ili kod ispisa ima neka fora

[Ovu poruku je menjao Nemanja Avramović dana 28.07.2007. u 15:36 GMT+1]
[ Miroslav Ćurčić @ 29.07.2007. 12:53 ] @
Očigledan odgovor je da moraš vršiti konverziju.
Konvertuj u encoding koji koristiš za prikaz sajta i takav sadržaj snimi u bazu, tako da oslobodiš deo za prikazivanje malteretiranja oko konverzija.
E sad, kako ćeš detektovati trenutni encoding i način konverzije, to je na tebi.

Samo da ti napomenem, tražeći feedove po netu našao sam da je 5% do 10% njih neispravno formirano, tako da te ne iznenade mogući problemi pri njihom parsiranju. Imaš validator na http://www.feedvalidator.org/
[ F F F F @ 29.07.2007. 13:19 ] @
znači kod parsiranja treba da detektujem encoding xml stranice i onda je konvertujem u odgovarajući encoding pre unosa u bazu. ok . da li funkcija iconv može da mi posluži ili šta predlažeš/te ?
[ Miroslav Ćurčić @ 29.07.2007. 17:21 ] @
Može funkcija iconv ali prvo proveri dali je iconv extenzija uopšte instalirana na serveru, video sam da na mnogima nije.

U jednom svom ranijem projektu sam koristio funkciju mb_convert_encoding ali nisam uspeo da je nateram da proradi sa cp_1250, iconv nije bio instaliran, pa sam napisao svoju konverziju sa str_replace(array,array).
[ agvozden @ 30.07.2007. 08:26 ] @
Ne moras da koristis ICONV, postoje i funkcije koje ce to obraditi... zavisi od toga iz cega u sta!
Moja zapazanja su da iz utf-8 u win1250 postoje razlike u odnosu na verziju php-a. Jel` imao jos ko takav problem?
[ F F F F @ 30.07.2007. 15:06 ] @
uspeo sam ! .. izgleda da radi ta iconv f-ja .. videćemo da li je podržavaju na serveru kad budem uploadova sajt (jednog lepog dana)

kod otprilike izgleda ovako

Code:
if ($izvor == 3) {   // ako je izvor 3 
        
            $arrayreg[0] = iconv("UTF-8","windows-1250",$arrayreg[0]);   // pretvaranje iz utf-8 u win 1250 
        
        }