Portál AbcLinuxu, 25. dubna 2024 13:15


Dotaz: Kodovani

17.12.2007 14:14 cvp | skóre: 18
Kodovani
Přečteno: 800×
Odpovědět | Admin
Mam problem s kodovanim. Tyto soubory mam:

- data.xml (ulozeno v ISO-8859-2)

- xml.inc (ulozeno v ISO-8859-2) //prevadi xml do pole array

- index.php (ulozeno v ISO-8859-2) // zobrazi vystup -> doplneno o html tag s kodovanim ulozeno v ISO-8859-2

Presto kodovani mam v UTF-8 :( Vubec nevim, proc se to kodovani kazi.

Jinak v xml.inc mam pouzit CURL, ktery taha data z data.xml.....CURL zepry ma automaticky nastaven UTF-8.....ale pokud si vypisi vystup z CURL....kodovani je spravne, tj. na ISO-8859-2. Pokud to vsak projedu tim xml.inc....a zobrazim v index.php....uz je tam UTF-8 a ja toto kodovani nemam nikde pouzito.

Zkousel jsem pouzit ICONV, ale to je vice zapeklite, protoze pokud hodim treba z ISO na UTF....ICONV funguje (kodovani samozrejme je spatne).....pokud kodovani prehodim spravne z UTF na ISO.....tak se nic nezobrazi.

Na skritky v serveru a v PHP scriptech neverim....poradite cim to muze?

Ja si uz nevim rady.

Jinak v tom data.xml mam pomocnou hlavicku: xml version="1.0" encoding="iso-8859-2"

Proste vse ulozeno v iso-8859-2

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jiří P. avatar 17.12.2007 14:26 Jiří P. | skóre: 24 | blog: programování
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
je nějaký zvláštní důvod, proč mít data.xml, xml.inc a index.php v ISO-8859-2 a ne v UTF-8?
In a world without fences and walls, who needs Gates and Windows?
17.12.2007 14:28 cvp | skóre: 18
Rozbalit Rozbalit vše Re: Kodovani
data.xml nam dodava firma primo v ISO kodovani
Jiří P. avatar 17.12.2007 16:07 Jiří P. | skóre: 24 | blog: programování
Rozbalit Rozbalit vše Re: Kodovani
no ani v tom případě není žádný problém - zkonvertovat se do dá vždycky. Určitě bych zkusil jak se to bude chovat, když bude všechno v UTF-8.
In a world without fences and walls, who needs Gates and Windows?
David Heidelberg avatar 17.12.2007 16:31 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Kodovani
17.12.2007 15:04 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin

Presto kodovani mam v UTF-8 :( Vubec nevim, proc se to kodovani kazi.

Kde máte kódování UTF-8? Ve výstupních datech z HTTP serveru?
17.12.2007 16:17 Honza
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli pouzivas XML funkce vestaveny v PHP, tak to s ISO-8859-2 neumi pracovat. Je treba pouzivat UTF, jinak tam cesky znaky nedostanes.
Jan Drábek avatar 17.12.2007 16:19 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je možné, že na konfiguraci serveru je nastaveno jako výchozí kódování jiné a to nestačí nastavit pomocí HTML tagu...

Přidejte před jakýkoliv výpis funkci header() s příslušným parametrem (najdete na php.net)
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
mess avatar 17.12.2007 19:48 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Kodovani
Konkrétně tohle:
header("Content-type: text/html; charset=iso-8859-2");
To bylo do PHP, teď do HTML:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
Třeba to pomůže.
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
18.12.2007 14:48 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Kodovani
a nezafunguje pre apache MultiViews, napr. file.php.utf8 (volané ako file.php)?
18.12.2007 10:25 cvp | skóre: 18
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zde je zobrazeni XML...protahle XML parserem v PHP5

Jak lze videt, kodovani je v UTF...ikdyz v HTML i v header-PHP bylo pouzito kodovani ISO. Jedine co me sere je vypis ICONV nepujde vlozit primo...protoze je to vse v ARRAY :(

Kam mam umistit ICONV na prekodovani z UTF na ten spravny ISO?

$xml = simplexml_load_file("snih.xml");
//print_r($xml);


foreach ($xml->REGION as $region)
{
  echo "Region: ". $region->attributes();
  foreach ($region as $stredisko)
  {
    echo "  Středisko - ".$stredisko->attributes();
    echo "   Vyska snehu - $stredisko->VYSKA_SNEHU";
    echo "   Typ pocasi - $stredisko->TYP_POCASI";
  }
}

18.12.2007 10:35 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Kodovani
Zkuste to upravit následovně (stejně tak všechny ostatní výstupy)
echo "Region: ". iconv("UTF-8", "ISO-8859-2", $region->attributes());
18.12.2007 12:20 cvp | skóre: 18
Rozbalit Rozbalit vše Re: Kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak iconv nakonec pomohl az v zaveru, presto kodovani je OK. UF. Moc Vam dekuji za vyreseni.

Jeste bych se chtel zeptat....jak by jste resili zapis primo do mysql?

Data v XML se budou kazdym dnem menit, tak ze zapis budu muset prepisovat nebo mazat v pripade, ze data v XML jiz nebudou, tak at v mysql nejsou.

Ja bych to resil asi chaoticky...tj. jako vzdy. Proto me zajima Vas napad jak by jste to resili Vy.

18.12.2007 14:49 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Kodovani
stĺpec "time-last-modify", import "update or create", s časom začiatku importu, po importe zmazať všetko staršie

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.