ugrás a tartalomhoz

Kérdőjelek ékezetek helyett

Laurens · 2009. Jún. 24. (Sze), 16.21
Sziasztok!

Olyan jellegű problémám lenne, hogy éppen egy weblapot fejlesztek, egy webspell nevezetű cms-re huztam rá a style-t amit készítettem. Az oldal karakterkódolása; iso-8859-2, az adatbázis teljesen latin2_hungarian_ci-re van állítva...ez idáig nem is gond, a php az adatbázisból szépen visszanyeri az adatokat. Ám 2 érdekes dolog van:

- ha megnézem az oldal forráskódját, a keywordsben az ékezetek nem jellennek meg, helyettük kérdőjelek.
- a lábléce az oldalnak nem tartalmaz php kódot, gyakorlatilag adatbázis mentes, még is ha simán html szerkesztőben beakarok tenni egy linket, szintén kérdőjelesen, ékezet nélkül jelennek meg.

Remélem tud adni valaki pár tanácsot nekem ez ügyben, mert projekt munkám ami határidős, webdesignerként rendesen belevágtam.

UI.:

A google a barátom volt, találtam is karakterkódolási hibákat. De nem konkrétan erre...mert ugye a kinyert adatokkal nincsen gond...

Előre is köszönöm a válaszokat!
 
1

html szerkesztő

a.d.a.m · 2009. Jún. 24. (Sze), 16.46
nem lehet hogy a szerkesztő kódolása nem megfelelő (nem iso-8859-2 es)?
2

UTF_8

mgergo90 · 2009. Jún. 24. (Sze), 16.52
Az utf_8 hungarian_ci-t próbáld meg

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />

header('Content-type: text/html; charset=iso-8859-2');
3

lehetséges,,,

Laurens · 2009. Jún. 24. (Sze), 17.14
A php-val nincs gond, rendesen működik, az adatbázis is tökéletes, legalábbis az eddigi fejlesztés alatt...

Ez az érdekes h a forrásban hibásak az ékezetek, és az utólag bevitt szövegek... :S

Én is gondoltam h talán a DW csinálja a feszkót...majd ránézek ha hazaértem...mert még melózok.. :)

Köszönöm a gyors válaszokat, és várom a továbbiakat is ha van valakinek még ötlete!

BÖVITÉS, még egy kérdés:

Az utf-8 és a latin2-es kódolások összevesznek? tehát ha mondjukaz oldal kódolása latin2...az adatbázisé utf-8, akkor az már hibás lesz? (sry a kérdésért, lehet hülyét kérdeztem :)

THX!
4

elképzelhető

a.d.a.m · 2009. Jún. 24. (Sze), 20.24
bár nem hibás, csak kissé olvashatatlan :)
Nem írtad milyen adatbázis, de ha mysql (felteszem a többi SQL motornál is így van ez - csak még nem próbáltam), akkor egy SET NAMES latin2 query beiktatásával ez megoldható.

Ahogy kivettem a szavaidból Dreamweaver-t használsz, nálam (bár igaz elég régen használtam azt a progit) soha nem jelentkezett ilyen jellegű hiba. Mi történik a kóddal ha más programmal (pl. notepad) nyitod meg? Ott is jelentkezik ugyanez a hiba?
5

Minden legyen egy

Ustak · 2009. Jún. 24. (Sze), 21.34
én latinnal nem dolgoztam még, de hat utf-8 al dolgozol, akkor utf-8 nak kell lenni mindennek, azaz :
-fájl kódolása (vim megmutatja -encoding, fileencoding)
-ahol kimegy milyen header van rajta (tehát phpban valahogy ráhúzni)
-a meta tagban is ráhúzni
-az adatbázis (bár ez nem hibás azt írtad) encoding, collation, connection <-ez nem biztos hogy ez a neve de most nem emlékszem pontosan- is egy legyen)
-ha ajax, akkor lehet a javascriptel bibi, van rá utf-encodoló decodoló függvény.
Esetleg javaslom a próbálkozást az utf8_encode utf8_decode php függvényekkel (bár írtad hogy nem php hiba)
szóval szerintem a fájl kódolása a gubanc.
6

Próbálkozom

Laurens · 2009. Jún. 25. (Cs), 22.19
Hello!

Hát MySQL-t használok...csak a böngészőben jelenik meg a probléma, tehát mikor dreamweaver-ben nézem semmi baja...ékezetek rendben.
Nem értem! IE-ben megnéztem, ott jók a keywordsök, de ott már az oldal cime nem jó. de csak a forrásban :D hihetetlen...a láblécben sem jó :(:(...

a w3 validator ezt írja:

Character Encoding Override in effect!

The detected character encoding "utf-8" has been suppressed and "iso-8859-2" used instead.

NOTEPAD-ban elmentettem..rendesen ANSI-ba...a hiba fennáll...
7

akkor biza

a.d.a.m · 2009. Jún. 26. (P), 09.16
az oldal kódolása és az adatbázis kódolása veszik össze. Próbáltad a kódot amit írtam? Egyszerűen beszúrod az adatbázis kiválasztás után egy mysql_query-be.
8

Egy fokkal egyszerűbb lenne,

tgr · 2009. Jún. 26. (P), 10.39
Egy fokkal egyszerűbb lenne, ha belinkelnéd az oldalt...

* Nézd meg, milyen kódolást lát a böngésző (FF alatt jobb klikk, page info).
* Nézd meg (a böngészőből elmentett HTML fájlban, hex editorral) mi a karakterkódja a kérdőjelnek - ebből megállapíthatod, milyen kódolása van valójában. (Nagyon elrontott CMS beállítások esetén ez az oldal különböző részein többféle is lehet.)

Ha a kódolás ISO-8859-2, és a böngésző mást lát, akkor vagy a content-type meta tag rossz (ezt gondolom már észrevetted volna), vagy a content-type HTTP fejléc - ezt a legegyszerűbben a Firebug net fülén tudod ellenőrizni, és valahol a PHP kódban javítani. Ha a böngésző ISO-8859-2-t lát, és a kódolás rossz, akkor egyrészt ellenőrizd az adatbázisban, hogy ugyanarra a kódolásra van-e állítva, és ha igen, jól jelenik-e meg (ez MySL-ben kicsit macerás, mert van külön kliens, szerver és adatbázistábla kódolás, és elég, ha az egyik rossz); ha igen, akkor a CMS PHP kódja lehet hibás valahol.