Autor | Zpráva | ||
---|---|---|---|
Mert Profil |
#1 · Zasláno: 21. 4. 2008, 19:50:32
Zdravím,
prosim o pomoc s problémem, na který jsem narazil při parsování xml dat přes php. Hlavička XML vypadá takto: <?xml version="1.0" encoding="UTF-16"?>(soubor je uložen v poznámkovém bloku s kódováním Unicode) Text je uložen V CDATA. <![CDATA[<font color="#FFDF00"><b>Použití</b></font> Stěnovými panely Acoustiroc® je možno dosáhnout výbornýchakustických podmínek, estetického vzhledu a tepelné izolacev průmyslových objektech, školních a sportovních zařízeních,restauracích, nemocnicích, chodbách a v každém prostředí, jehož stěny mají odolávat nárazům]]> Výstup ale vypadá takto: PouĹľitĂ StÄ›novĂ˝mi panely Acoustiroc® je moĹľno dosáhnout vĂ˝bornĂ˝chakustickĂ˝ch podmĂnek, estetickĂ©ho vzhledu a tepelnĂ© izolacev prĹŻmyslovĂ˝ch objektech, školnĂch a sportovnĂch zaĹ™ĂzenĂch,restauracĂch, nemocnicĂch, chodbách a v kaĹľdĂ©m prostĹ™edĂ, jehoĹľ stÄ›ny majĂ odolávat nárazĹŻm Jaké mám používat kódování nebo je chyba jinde? Pls help |
||
Alphard Profil |
#2 · Zasláno: 21. 4. 2008, 19:53:59
Jaké mám používat kódování
jaké chceš, ale všude stejné, nebo si pomoci funkcí iconv() nebo je chyba jinde? nedostatek informací... |
||
Mert Profil |
#3 · Zasláno: 21. 4. 2008, 20:01:52 · Upravil/a: Mert
No tak php skript vypadá takto:
<?php $xmlFileData = file_get_contents("acoustiroc.xml"); $xmlData = new SimpleXMLElement($xmlFileData); foreach($xmlData->info->children() as $child) { print("<h2>" . $child . "</h2><br />"); } ?> XML cca takto: <info> <pouziti src=""> <![CDATA[<font color="#FFDF00"><b>Použití</b></font> Stěnovými panely Acoustiroc® je možno dosáhnout výbornýchakustických podmínek, estetického vzhledu a tepelné izolacev průmyslových objektech, školních a sportovních zařízeních,restauracích, nemocnicích, chodbách a v každém prostředí, jehož stěny mají odolávat nárazům]]> </pouziti> </info> Jako prohlížeč používám Firefox, PHP a XML píšu v Dreamweavru (tam se vše zobrazuje koretně), ale při výstupu v Mozille to hodí výše zmíněný paskvil. Nevím co víc bych k tomu dopsal. Pište prosím konkrétně, jaké info bych měl doplnit. |
||
Mike8748 Profil |
#4 · Zasláno: 21. 4. 2008, 20:04:47
v skriptu ti chybi uvedeni kodovani vystupu
dej si pred to header('Content-type: text/html; charset=utf-16'); (pripadne misto utf16 spravny kodovani jaky tam mas pouzity v tom xml |
||
Mert Profil |
#5 · Zasláno: 21. 4. 2008, 20:13:33 · Upravil/a: Mert
Takže hlavičku XML mám
<?xml version="1.0" encoding="UTF-16"?> (soubor uložen jako Unicode) Skript vypadá následovně: <?php $xmlFileData = file_get_contents("acoustiroc.xml"); $xmlData = new SimpleXMLElement($xmlFileData); header('Content-type: text/html; charset=UTF-16'); foreach($xmlData->info->children() as $child) { print("<h2>" . $child . "</h2><br />"); } ?> nevložil jsem to někam blbě? |
||
bukaj Profil |
#6 · Zasláno: 21. 4. 2008, 20:44:26
Mert
soubor uložen jako Unicode To ale neznamená, že je v UTF-16. Jseš si opravdu jistý, že jsi to ukládal výslovně jako UTF-16? nevložil jsem to někam blbě? Spíš bych řekl, že máš XML soubor v nějakém jiném kódovní, než myslíš. Zkus zaexperimentovat. Ono jedno bude dobře. |
||
Mert Profil |
#7 · Zasláno: 21. 4. 2008, 20:58:00
Zkus zaexperimentovat. Ono jedno bude dobře.
Skvělá rada :-) ... zkoušel jsem různé kombinace a když jsem nastavil vše na UTF-8, tak to fungovalo. Díky moc všem :-) |
||
Davex Profil |
#8 · Zasláno: 21. 4. 2008, 21:11:03
Mert
Prosím, smaž ten nesmyslný výstup v #5. Při pokusu o zobrazení této stránky v IE6 se stane to, že prohlížeč v kousnutém stavu vytíží procesor na 100 %. |
||
Mert Profil |
#9 · Zasláno: 21. 4. 2008, 21:18:17
Prosím, smaž ten nesmyslný výstup v #5. Při pokusu o zobrazení této stránky v IE6 se stane to, že prohlížeč v kousnutém stavu vytíží procesor na 100 %.
Hotovo :) sry |
||
Časová prodleva: 16 let
|
0