html, header, charset wird ignoriert [SOLVED]
-
-
Ist die Datei auch in ISO-8859-1 gespeichert?
-
du meinst, sind die sonderzeichen in iso-8859-1 format? ja, sind sie. und wenn ich im browser auf die seite gehe, sind statt den sonderzeichen fehlende symbole, und wenn ich auf zeichencodierung geh, stehts auf utf-8 :-/
d.h. er erkennt anscheinend die zeile nicht, und stellt die seite mal automatisch auf utf-8 ...btw. hier die seite: http://www.wude.at
früher hats funktioniert .. plötzlich gehts nimmer :-?
wenn man den quelltext anschaut, steht dort die zeile drin.
wenn man händisch im browser auf 8859-1 umstellt, sind die sonderzeichen da. aber sobald man auf refresh clickt, is wieder auf utf-8 umgestellt :-((( -
Wenn du eine Datei speicherst, kannst du doch einstellen, mit welchem Charset sie gespeichert ist. Selbst die gängisten HTML-Editoren bieten das an.
Das sieht mir stark danach aus, dass dein Browser mit content-type zwar angewiesen wird, ISO auszuliefern, die Datei(en) an sich, in denen die Zeichen "eingebettet" sind, in UTF-8 gespeichert sind. Daher kommt's zu fehlerhaften Darstellungen der Umlaute.
-
ähm, moment mal.
ne .html oder .php-datei ist einfach nur text! da gibts keinen versteckten content in dem irgendwo "utf-8" oder "iso-8859-1" drin stehen könnt!wenn also ganz oben in der index.html die meta-tag zeile steht, daß ich diese datei mit iso-8859-1 anzeigen will, dann muß der browser das doch akzeptieren, oder?
in HTML-Kit (das ich verwend) find ich jedenfalls nirgends so eine einstellung ..
-
Zitat
Original von Martin
ähm, moment mal.
ne .html oder .php-datei ist einfach nur text! da gibts keinen versteckten content in dem irgendwo "utf-8" oder "iso-8859-1" drin stehen könnt!wenn also ganz oben in der index.html die meta-tag zeile steht, daß ich diese datei mit iso-8859-1 anzeigen will, dann muß der browser das doch akzeptieren, oder?
in HTML-Kit (das ich verwend) find ich jedenfalls nirgends so eine einstellung ..
Ich mache das seit Jahr und Tag, und ja, das ist so. Wenn man mit CMS arbeitet, mag das nicht auffallen, da es da keine statischen Dateien mehr gibt, sondern alles aus der DB kommt, aber bei statischen Dateien spielt es eine Rolle, in welchem Zeichensatz man sie abspeichert.Du könntest dem aus dem Weg gehen, indem du statt ISO einfach UTF-8 in den Header schreibst. Das nutze ich sowieso schon ewig, da du damit einen viel größeren Zeichenumfang abdeckst.
Hier die Optionen bei einigen der bekannteren Editoren:
- Notepad++: http://kevinscomputer.files.wo…otepad_utf_8_ohne_bom.jpg
- Aptana (welches ich nutze): http://img32.imageshack.us/img32/7156/aptanacharset.jpg
- jEdit: http://developers.sun.com/global/images/jedit.jpg
- NVU: http://glazman.org/weblog/dotclear/images/nvu/charset.gifBei HTML-Kit scheint das versteckt zu sein: Preferences> TIDY> Character Encoding
-
aber alle meine daten in der datenbank sind iso-kodiert :-((
das liegt daran, das ich vorher den orsch dreamweaver verwendet hab .. der war mir dann aber doch zu blöd (weil zu massig!) und ich bin auf html-kit umgestiegen .. das is schlank, und reicht mir auch, da ich sowieso code schreib ..
schas .. jetz muß ich mich da deppat rumspielen. wozu gibts dann aber die meta-zeile in der ich dem browser eindeutig sagen kann, welche kodierung er nehmen soll, wenn ers dann erst ignoriert? hach schas ... kenn mi net aus ... :-//
-
Wenn du erst neu bei HTML-Kit fällt der Umstieg noch nicht so schwer. Notepad++ ist was für dich.
Ansonsten, wenn die Daten aus einer DB kommen, versuch mal ein wenig mit utf8_decode, utf8_encode, und wenn alles nicht hilft (was ich aber nicht denke), mit Multibyte (mb_convert_encoding) rumzuspielen.
Letzteres ist für deine Zwecke aber ein wenig übertrieben, und ich denke, wenn du die aus der DB kommenden Daten mit utf8_encode ausgibst, sollte das alles wieder passen.
-
ich werd jetz einfach drauf scheißen .. ich krieg sowieso ka kohle für das ganze, und es interessiert mich nicht. dreck .. muß irgendwie an den apache-einstellungen vom server liegen, weil die server-leut sind auf ne neue maschine umgezogen. anscheinend sind da die einstellungen irgendwie anders. ich hab kan bock mehr .. :-(((
-
Zitat
Original von Martin
ich werd jetz einfach drauf scheißen ..
Technik und Kacke vertragen sich nich gut.Hast du Zugriff auf die php.ini?
-
nope, nur auf meinen webspace. server ist fremdadministriert.
-
Zitat
Original von Martin
nope, nur auf meinen webspace. server ist fremdadministriert.
Hmm, Mist, dann müsstest du wie oben angesprochen auf PHP-Funktionen (utf8_*) zur Charset Conversion zurückgreifen...Ich hätt ja Lust, mal per Team Viewer oder so zu schauen, was man machen kann (u.U. kann man auch Einstellungen über die .htaccess vornehmen), aber ich glaube, du bist schon genug angepisst, oder?
-
Problem gelöst!
Anscheinend ist da im Apache am Server irgendwas nicht ordentlich konfiguriert. Jedenfalls ignoriert mir der mein händisch gesetztes charset (wie schon beschrieben).
Lösung:
1) Der Server muß .htaccess-Dateien unterstützen.
2) eine .htaccess ins root der Webseite legen, mit folgendem Inhalt:
dann wird die default-einstellung für dieses directory sowie alle subdirectories auf iso gesetzt.problem gelöst
-
Supi.