HTML Zeichenkodierung
Bei der Ausgabe von HTML-Inhalten aus einer Datenbank, die codierte Zeichen sind, werden korrekt vom browser interpretiert, während andere nicht sind.
Beispielsweise %20
richtig wird zu einem Raum, aber %AE
nicht die eingetragene Marke symbol.
Vermisse ich eine Art von content-encoding-Planer?
(Anmerkung: ich kann nicht realistisch ändern der Inhalte, zum Beispiel ®
wie ich haben keine Kontrolle über den input-editor der generierte markup)
- Gut,
%AE
ist keine gültige HTML-escape-Sequenz. Welche software ist das pre-processing der text, den Sie emittieren? Welcher Zeichensatz benutzt? %20
und%AE
sind URL-Kodierungen, die keine HTML-Kodierungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
%AE
ist nicht gültig für HTML-safe ASCII,Sie können die Tabelle hier: http://www.ascii.cl/htmlcodes.htm
Sieht es aus wie Sie den Umgang mit Windows Word-Codierung (windows-1252?? sowas in der Art) es ist wirklich NICHT in html konvertieren sicher, es sei denn, Sie eine Art von übersetzung in der Mitte.
Byte
AE
ist die ISO-8859-1 Vertretung für die eingetragene Marke. Wenn Sie nicht sehen, nichts, dann anscheinend der URL-decoder ist mit anderen charset zu URL-Dekodieren. Zum Beispiel UTF-8, dieses byte stellt keine gültigen Zeichen.Dieses Problem zu beheben, müssen Sie die URL-decode es mit ISO-8859-1, oder konvertieren Sie die vorhandenen Daten werden URL-kodierte UTF-8 verwenden.
Gesagt, sollten Sie nicht verwechseln HTML(XML) encoding wie
®
mit Die URL-Codierung wie%AE
.Den '%20' - Codierung die URL-Codierung. Es ist nur nützlich für URLs, nicht für die Darstellung von HTML.
Wenn Sie wollen, um den reg-Zeichen in einer HTML-Seite, haben Sie zwei Optionen: Entweder verwenden Sie ein HTML-entity, oder übertragen Sie Ihre Seite als UTF-8.
Wenn Sie sich entschließen, verwenden Sie die Einheit code, es ist ziemlich einfach zu konvertieren en-masse, da kann man numerische Entitäten; Sie nicht haben, um die named entities -- ie verwenden
®
eher als&#reg;
.Wenn Sie brauchen, um wissen entity-codes für jeden Charakter, finde ich dieses cheat-sheet sehr hilfreich: http://www.evotech.net/blog/2007/04/named-html-entities-in-numeric-order/
Was server-side-Sprache verwenden Sie? Überprüfen Sie, ob ein URL-Decode Funktion.
Wenn Sie mit Hilfe von php können Sie
urldecode()
aber Sie sollten vorsichtig sein, über+
Zeichen.