PHP messing mit HTML-Zeichensatz
Habe ich dieses merkwürdige problem. Ich habe eine Website, die enthält einige Deutsche Buchstaben, und wenn es nur html ohne php die Symbole sind Eigentum angezeigt, die mit der Kodierung, wenn ich es auf UTF-8, die Sie Sie nicht anzeigen und anstelle von ... ich verstehe �. Wenn ich die html in php und mit Zend studio auf Wamp mit dem charset=iso-8859-1-Codierung bekomme ich ï ¿ ½ , statt Ö ( ich will hinzufügen, dass dieses Ö ist der Wert eines radio-button). Wenn es in einem
tag zeigt es richtig. Können Sie mir sagen, wie dieses Problem zu beheben. Ich schaue auf anderen Seiten und Sie haben die UTF-8-Codierung und richtig angezeigt, das gleiche symbol. Ich habe versucht, ändern Sie die php-edior Codierung aber es spielt keine Rolle, nehme ich an -> alles ist die Anzeige richtig in Zend Studio-editor... vielen Dank im Voraus.
german
entfernt als Teil des 2012 cleanup.InformationsquelleAutor Alexander Beninski | 2011-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vermutlich haben Sie mix-encoding-Typen.
Zum Beispiel. Eine Seite wird als iso-8859-1, aber UTF-8-Kodierung von MySQL oder XML-würde in der Regel fehl.
Dieses problem zu lösen, müssen Sie behalten die Kontrolle am Eingang ecodings Art in Bezug auf die Art der Codierung, die Sie gewählt haben, zu benutzen intern.
Wenn Sie senden Sie es als iso-8859-1, wird Ihre Eingabe durch den Benutzer ist auch iso-8859-1.
Und wenn mysql sendet latin1 Sie nicht haben, etwas zu tun.
Aber wenn Sie Ihre Eingabe ist nicht iso-8859-1 müssen Sie konvertiert werden, bevor Sie es senden, um den Benutzer oder anpassen zu Mysql auf, bevor es zu speichern.
Kurz, es bedeutet, dass Sie müssen immer den input-konvertiert fit interne Codierung und Wandler-Ausgabe entsprechend der externen Codierung.
Dies ist die interne Kodierung, die ich gewählt habe, um zu verwenden.
Dies ist ein code, den ich verwenden.
Natürlich sind die Antworten unten immer noch einen großen Einfluss auf den html-und der Fehlersuche.
Aber dies ist ein großer Einfluss auf php und Codierung. dk2.php.net/manual/en/mbstring.overload.php dk2.php.net/manual/en/ref.mbstring.php
InformationsquelleAutor Diblo Dk
Können Sie überprüfen, was der Wert von Charset im HTTP-header Response-Header. Wenn die Informationen alt ist(2009), ich weiß nicht, ob es immer noch gilt: der default-Zeichensatz in PHP UTF-8, wenn Sie keinen content-type-header mit charset. Quelle
Daher den header explizit:
InformationsquelleAutor Ashwini Dhekane
Aktualisiert ich brauche, um mein encode/decode de-verwirrt.
Wenn man in PHP versuchen die Dekodierung der Zeichenkette in UTF-8 vor der Ausgabe.
Dieser arbeitete für mich:
Wert in Input (per Cut-n-Paste):
1) vermeiden Sie die Verwendung von Anführungszeichen für HTML-Attribute. 2) sollte Man wohl codieren html-Attribut "value". -1 für das posten von code, die, wenn wörtlich genommen, ist ein riesiger laden für cross-site-scripting.
Sorry für die Aufsicht, es wurde aktualisiert.
Das scheint wirklich zu funktionieren. Ist dies der einzige Weg?
InformationsquelleAutor Jeff Lambert
Warum nutzen Sie nicht
statt Ihre Ö?
Ich habe versucht, es zu benutzen, aber wenn es so ist <input class="radio" type="radio" value="Ö" /> es zeigt �.
InformationsquelleAutor Snicksie