Već nedelju dana se zezam sa jednim problemom oko ispisa naših slova (č, ć, đ).
Cilj je da isparsiram xml string koji dobijam preko web servisa i to radim na sledeći način
//povlačenje sadržaja stringa
$xml_string= file_get_contents($url);
Zaustavimo se ovde kada štampam dobijeni string dobijam xml sa zaglavljem <?xml version="1.0" encoding="UTF-8"?> i svim ostalim podacima među kojima su i reči kao: upravljaè , štampaè , Kuæište itd, a taj string skripta prepoznaje kao UTF-8.
Kada ubacim
header('Content-type: text/html; charset=utf-8');
ili ako PHP skriptu enkodiram u utf-8 onda dobijem one masne upitnike namesto svih naših slova.
Kada ubacim
header('Content-type: text/xml; charset=utf-8');
konačno kada probam da isparsiram taj XML pomoću
$products = simplexml_load_string($xml_string);
dobijam grešku:
Probao sam da koristim funkcije utf8_encode, mb_convert_encoding($xml, 'UTF-8', mb_detect_encoding($xml)); iconv('UTF-8', "UTF-8", $xml);
str_replace("è", "č", $xml);
Probao sam sa php skriptom u ASCII, UTF8 i UTF8 without BOM.
Uvek ili drugačija brljoka od slova ili znakovi pitanja
Kontaktirao sam programera sa druge strane i poslao mi je screenshot kako se kod njega xml fajl ispravno prikazuje u browseru
Inače koristim notepad++.
Prvi put radim ovako nešto, i nemam ideju šta još da pokušam. Ako bi neko mogao da da kakav trag bio bih zahvalan
Edit:
Koristim WAMP na localhostu na 32-bitnom windowsu7
PHP 5.3.10
apache 2.2.21