ugrás a tartalomhoz

UTF-8, de mégsem! SOS

marci0001 · 2010. Okt. 14. (Cs), 16.05
Sziasztok!

Nagyon kezdő vagyok, és már - már kezdek rájönni a dolgokra.

Most nagyon elakadtam, és segítségre lenne szükségem.

Adott az alábbi oldal

itt megjelenik az XML-ből betöltött adatokkal egy form, de nem egyező karakterkódolással.

Mit keressek? Hol keressem?
Nagyon fontos lenne!

Előre is köszönöm!
 
1

Hol rossz?

Török Gábor · 2010. Okt. 14. (Cs), 16.31
Tudnád pontosítani, hogy mi jelenik meg rosszul? Esetleg képernyőkép? Nálam a form szövegei angolok. Sehol nem „látok” helytelenül megjelenített karaktereket.
3

Screenshot

marci0001 · 2010. Okt. 14. (Cs), 16.58
9

Megoldva!

marci0001 · 2010. Okt. 14. (Cs), 19.45
Legalábbis remélem, hogy jó lett. :)

Az XML fájl kódolását átállítottam iso-8859-2 -ra, és megjelentek a magyar karakterek :)
2

Amit én látok

Poetro · 2010. Okt. 14. (Cs), 16.54
Az 28 darab 404-es kép hivatkozás, 46 JavaScript hiba hivatkozás undefined változóra, és egy hasonló, ahol egy null változó egyik tulajdonságát akarod módosítani.
Az oldalon két jQuery van betöltve, egyszer egy a konkrét szerverről 1.2.3-as verziójú, és még egy Google CDN-ről, ami 1.3.2-es verziójú.
A form nálam teljesen angol nyelvű Firefox-ban.
Amennyiben átváltom a böngésző nyelvét magyarra, akkor a form is magyar nyelvű lesz, de abban karakterkódolási hibák vannak, valószínűleg a beolvasott tartalom nem UTF-8 kódolású, vagy ami feldolgozza, nem tud mit kezdeni az UTF-8 kódolású karakterekkel.
4

Az 28 darab 404-es kép

marci0001 · 2010. Okt. 14. (Cs), 17.05
Az 28 darab 404-es kép hivatkozás, 46 JavaScript hiba hivatkozás undefined változóra, és egy hasonló, ahol egy null változó egyik tulajdonságát akarod módosítani.
Az oldalon két jQuery van betöltve, egyszer egy a konkrét szerverről 1.2.3-as verziójú, és még egy Google CDN-ről, ami 1.3.2-es verziójú.
A form nálam teljesen angol nyelvű Firefox-ban.
Amennyiben átváltom a böngésző nyelvét magyarra, akkor a form is magyar nyelvű lesz, de abban karakterkódolási hibák vannak, valószínűleg a beolvasott tartalom nem UTF-8 kódolású, vagy ami feldolgozza, nem tud mit kezdeni az UTF-8 kódolású karakterekkel.


Igen, még nem teljesen kész a kód, elsődlegesen azt szerettem volna, hogy elküldje a form adatait.
A jQuery -ben igazad van, azt javítani fogom, kösz hogy szóltál. A képek esetében a css még nincs kész.

Állítsam át magyar karakterkódolásra?
( <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'/> )
5

UTF-8

Poetro · 2010. Okt. 14. (Cs), 17.26
Alakítsd át inkább a formodat UTF-8-ra. Kevesebb gondod lesz később.
6

Hogyan

marci0001 · 2010. Okt. 14. (Cs), 18.54
Ok, tetszene a dolog, de hogyan alakítsam át?
7

Valahogy

Poetro · 2010. Okt. 14. (Cs), 19.20
Mivel semmit nem írtál le az oldalról, így nehéz bármit is segíteni. Nézd meg az XML-t, hogy annak, milyen a kódolása, azt alakítsd át UTF-8-ra, az abban levő karakter kódolásra vonatkozó sort szintén állítsd UTF-8-ra. Az XML-t beolvasó és elemző kódot nézd meg, hogy milyen karakterkódolást használ stb.
8

Kódolás módosítása

marci0001 · 2010. Okt. 14. (Cs), 19.41
Notepad++ -t használok, ami UTF-8 -at ír a dokumentumra.
Első sorban UTF-8 -ra van állítva a kódolás az XML fájlban.
<?xml version="1.0" encoding="utf-8"?>


A php oldal is UTF-8.
<meta http-equiv="content-type" content="text/html;charset=UTF-8">

A css fájlok mindegyikének formátuma UTF-8, és a készlet is UTF-8.
10

Köszönöm!

marci0001 · 2010. Okt. 14. (Cs), 20.15
Megoldva!
marci0001 · 19.45
Legalábbis remélem, hogy jó lett. :)

Az XML fájl kódolását átállítottam iso-8859-2 -ra, és megjelentek a magyar karakterek :)


Köszönöm a segítséget!

A head.php által meghvott xml-ben is volt egy utalás a kódolásra. Elég lett vola azt átírnoim, de így is stabilan megy! :D
11

UTF-8

Psysoul · 2010. Okt. 19. (K), 14.23
Üdv!

Én mindenképp az UTF-8-at használnám mindenhol, lévén a legtöbb weboldal, illetve CMS rendszer is ilyet használ, és ezzel biztosan nem lesz gond.

Amire figyelni kell, hogy nem mindig elég a html header meta taget kiíratni, hanem a php header content charset is kell, különben előfordulhat, hogy a http response header encoding nem UTF-8 lesz.

Tehát php-ben:
header('Content-Type: text/html; charset=utf-8');
Web service fejlesztésnél egyszer belefutottam egy ilyenbe, hogy kész kódot használtam, ami egyszerűen lehagyta a http response headerből a kódolást, amit igen nehéz debugolni localhoston, java me nyelvnél :) (megoldás http analyzer). Weben egyszerűbb a helyzet, mert firebug és hasonló eszközökkel lehet vizsgálni a request/response header részét.