Tim Tepaße: Anführungszeichen aus WYSIWYG-Editor kommen falsch an.

Beitrag lesen

Hallo,

Hallo u201Eich stehe in Anführungszeichen%u201C ich nicht mehr

Oh, das CMS (sicherlich nicht der Browser) zeigt direkt den Unicode Code Point des Zeichens an? Praktisch zum Debuggen, wenn man so will.

Einfügen von
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
hat leider nichts bewirkt.

Tja. Eklige Zeichensatzprobleme immer.

Es gibt verschiedene Zeichensätze, die teilweise unterschiedlich kodiert werden. ISO 8859-1 ist ein gängiger Zeichensatz mit Platz für 256 Zeichen, der mit den gebräuchlichen westeuropäischen Zeichen gefüllt ist. Die beiden doppelten Anführungsstriche unten öffnend und oben schließend sind da aber dummerweise nicht drin, Platzprobleme, ä und ö und ü waren wohl wichtiger.

Unicode ist ein Zeichensatz mit genügend Platz für alle möglichen bisher genutzten Zeichen. Wenn man ein Zeichen sucht, sollte man in Unicode suchen. Die beiden Anführungszeichen sind dort unter den Indexnummern U+201E („) und U+201C (“) zu finden. Die gängige Kodierung des Unicode Zeichensatz ist UTF-8. Hier im Forum wird diese eingesetzt, mit dem Erfolg, dass Du bei passenden installierten Schriftarten die beiden Anführungszeichen in den Klammern gerade zu sehen bekommst und sie so im Quelltext stehen können.

Nur: Es hilft jetzt nicht, einfach so ein

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

in den Quelltext bzw. in Deinem Fall wahrscheinlich in die Templates einzufügen. Nur die Aussage reicht nicht aus, die Ressource muss tatsächlich in UTF-8 kodiert sein und idealerweise sagt der Webserver über das Protokoll HTTP noch zusätzlich, dass die ausgelieferte Ressource in UTF-8 kodiert ist.

Dass Du als Ergebnis für ein nicht im ISO 8859-1 Zeichensatz enthaltendes Zeichen den String „u201E“ bekommst, ist eher ungewöhnlich, die gebräuchlichen Browser machen so etwas nicht lässt darauf schließen, dass Dein CMS ...

... entweder prinzipiell nur in den Zeichensätzen ASCCI bzw. ISO 8859-1 operiert und generell „andere“ Zeichen in diese Darstellung umwandelt

... oder aber so klug ist, festzustellen, dass das gepostete Zeichen nicht im Zielquelltext enthalten ist und es in diese für Besucher eher unpraktische Darstellung umwandelt. Der Unterschied zur ersten Möglichkeit ist hier die Vermutung, dass Dein CMS mit unterschiedlichen Zeichensätzen umgehen kann und sich eventuell danach richtet.

(Eine weitere Möglichkeit ist es, dass beim Posten des WYSIWYWG-Editor-Inhaltes irgendwas schief geht, aber das sollten in dem Bereich kompetentere Leute als ich beantworten.)

An Deiner Stelle würde ich gucken, ob Du Dein CMS dahingehend konfigurieren kannst, dass es die erzeugten Seiten in UTF-8 ausliefert. Nicht jedes CMS kann das, leider. Oder ob Dein CMS eventuell „unpassende Zeichen“ anders ausliefern kann, zum Beispiel nicht in ISO 8859-1 enthaltende Zeichen automatisch in ihr entsprechendes Unicode-Entity umkodieren, die hexadezimale Schreibweise hat es ja drauf. Wenn nicht, dann hast Du ein Problem mit Deinem CMS.

Vorrausgesetzt der WYSIWYWG-Editor hat auch eine Möglichkeit der Eingabe von HTML-Quelltext, bleibt höchstens noch die direkte Eingabe von Entities, es würde sich dann empfehlen, eine Liste der benannten Entities gebräuchlicher Sonderzeichen zur Hand haben. Für die fraglichen Anführungszeichen sind das z.B.

&bdquo; (in hexadezimaler Schreibweise &#x201e;) für das öffnende doppelte Anführungszeichen unten („)
&ldquo; (in hexadezimaler Schreibweise &#x201c;) für das schließende doppelte Anführungszeichen oben (“)

Wirklich toll ist das aber nicht, ja.

Tim