Jump to content
Sign in to follow this  
k00ni

Massives Zeichensatzproblem: Bei UTF-8 zerlegt er mir ö,ä und ü

Recommended Posts

Guest

Mit der L10N betrifft es jeden, der außerhalb von Latin-9 (also außerhalb der Westeuropäischen Sprachen) arbeiten will.

Share this post


Link to post
Share on other sites

So, habs nun umgestellt und es läuft sauber bei mir. Du hast zwar in der header.tpl und admin_header.tpl zwar das [/code]


drin gelassen. Dadurch wurde es wieder ISO-8859-1 und die Zeichen falsch dargestellt.


Habe es nun so geändert, dass oben ein

 




steht und habe dass




 

herausgenommen. Falls jemand mit der Umstellung Probleme hat, kann die beiden Dateien im Anhang nehmen. Die header.tpl in den tpl-Ordner im Hauptverzeichnis, die admin_header.tpl in den tpl-Ordner im Ordner admin.



Grüße

Share this post


Link to post
Share on other sites
Guest

Es reicht nicht, im Dokument einen Zeichensatz zu deklarieren, dies muss bereits beim Ausliefern der Seiten passieren, also als entsprechender HTTP-Header.

Share this post


Link to post
Share on other sites
Guest

Genau. Vorzugswiese konfiguriert man dies aber über den Webserver, da man sich mit header-Aufrufen in PHP leicht andere Probleme einhandelt, bspw. wenn man kein Output Buffering verwendet oder eine Ressource vergisst.

Share this post


Link to post
Share on other sites
Vorzugswiese konfiguriert man dies aber über den Webserver,


Und was kann ich rein von der PHP-Ebene noch tun? Ich mein, bei mir zeigt er mir nun meine Zeichen sauber an. Nun werden aber die pSys internen falsch dargestellt. (Also die Sonderzeichen)



Grüße

Share this post


Link to post
Share on other sites
Guest
Und was kann ich rein von der PHP-Ebene noch tun?

Es ist nicht empfehlenswert, hier kaputten Output on the fly zu konvertieren. Du solltest also mal genau nachschauen, wie die Dateien zeichenkodiert sind und dann ggf. (numerische) Entities einsetzen oder rekodieren.

Share this post


Link to post
Share on other sites
Guest

Na, dann solltest Du alle Latin-9-Files in UTF-8 konvertieren. In den GNU-Tools gibt es recode, alternativ kannst Du dir auch mit den iconv-Funktionen ein eigenes Programm in PHP schreiben.

Share this post


Link to post
Share on other sites

Ich brauch das nicht, denn meine Dateien sind wie gesagt UTF-8. Es müsste der Powie seine nun sauber konvertieren, damit es bei ihm nicht mehr falsch ausschaut. Bei mir läuft es ja.



Grüße

Share this post


Link to post
Share on other sites

Das lag nun denk ich daran, dass bei vielen Dateien im pSys noch der ISO-8859-1 Zeichensatz drin ist und die dort verwendeten Sonderzeichen unter UTF-8 nicht sauber dargestellt werden.



Grüße

Share this post


Link to post
Share on other sites

 

 

das verursacht bei älteren browsern probleme. sie erkennen den doctype dann nicht mehr und schalten in den falschen parsing modus.

das kann dann zu falscher darstellung führen. z.b. wenn man xhtml strict nutzt, dann geht er in seinen "fehlertoleranten" modus und stellt alles falsch dar.

 

:   	  

 

das obige sollte langen. wenn nicht dann liefert der server einen falschen zeichensatz (php.ini unter default_charset, einfach auskommentieren mit einem ; davor)

und wenn man die php.ini nicht ändern kann, dann lässt sich das utf-8 mit einer .htaccess erzwingen:

 

AddCharset utf-8 .css .html .xhtml .php

 

und wenn auch das nicht geht, kann man in den php files einfach header verschicken:

header('content-type: text/html; charset=utf-8');

Share this post


Link to post
Share on other sites
Guest

Um genau zu sein sind nur die beiden letzten Methoden, Header zu setzen, funktionsfähig. Die Idee, erst innerhalb eines Dokuments anzugeben, welchen Charsets das Dokument ist, ist relativ leicht als schwachsinning zu erkennen.

Share this post


Link to post
Share on other sites

Ich kann es gern mal demonstrieren, die sicherste Variante ist die genannte php:header() Variante.


Für eine Neuinstallation easy zu erledigen, für ein vbereits bestehendes System wie zum Bsp. powie.de eine eztwas aufwendigere Sache, man müsste ja generell allen Content in der DB umstellen.

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...