[ stough_ser @ 24.02.2010. 22:02 ] @
pozdrav

problem je sledeci
skinem neki XML preko SOAP-a

i kad krenem da obradjujem sa simplexml_load_string
javi mi da neki znakovi nisu UTF8 i da ne moze da obradi

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x20 0x72 0x6F in /home/newdealc/public_html/book/tripauthorityxmlparser.php on line 209

Warning: simplexml_load_string() [function.simplexml-load-string]: y="30" BuyerOnly="false"><Room Code="15156" Name="Room" Description="Saint Honor in /home/newdealc/public_html/book/tripauthorityxmlparser.php on line 209

Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/newdealc/public_html/book/tripauthorityxmlparser.php on line 209

kad sam posle silnih peripetija uspeo da snimim taj XML a da IDE ne pukne (na kraju sa net beans)

nasho sam da je problem u:
description="Saint Honor�room"

kako da iz stringa uklonim sve shto nije UTF8?

ereg_replace?

hvala
[ Goran Rakić @ 24.02.2010. 22:16 ] @
iconv() je tvoj prijatelj, pretvori sadržaj iz kodne strane XML dokumenta u UTF-8.
[ stough_ser @ 24.02.2010. 22:26 ] @
npr

iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $string);

odnosno

iconv('neshto', 'UTF-8//TRANSLIT//IGNORE', $string);

problem je shto ne znam shta je to neshto :(


[ stough_ser @ 24.02.2010. 22:27 ] @
jel postoji neki nachin da to "nesto" bude... bilo shta :)
[ Goran Rakić @ 25.02.2010. 00:56 ] @
Zar ti ne piše u zaglavlju XML-a koja je kodna strana? Tekst je "Saint-Honoré", dakle probaj ISO-8859-1 ili CP 1252.
[ stough_ser @ 25.02.2010. 07:09 ] @
ma ne pishe...
to je neki SOAP response, ima XML format
al nema ono klasicno zaglavlje.

hvala

probacu

mada
takav podatak se javi na 1 od 200 sloga
a kako idu u paketima po 40
chesto ne radi :(

e, sad, problem je, shta raditi sa onim slogovima koji su ispravni. ako su utf-8, a ja ih predstavim ko neki drugi, sve pada.

[ Predrag Supurovic @ 25.02.2010. 08:24 ] @
Posto pretrkeljises XML i izbacis sve sto nije po standardu, pa ga tek tada parsiras.
[ stough_ser @ 25.02.2010. 08:48 ] @
problem je - kako izbaciti

to ne umem :)
[ Nikola Poša @ 25.02.2010. 10:38 ] @
Probaj da provučeš taj string kroz utf8_encode.
[ kotnik @ 25.02.2010. 10:51 ] @
Probaj da izbaciš iz XMLa sve što nije ASCII pa da ga parsuješ:

Code:
$xml_string = preg_replace('/[^\x00-\x7f]/','',$xml_string);

[ stough_ser @ 25.02.2010. 12:10 ] @
proshlo je B-)

hvala