UTF-8-html ohne BOM zeigt seltsame Zeichen
Habe ich einige HTML, die enthält einige forign-Zeichen (€, ó, á). Das HTML-Dokument wird gespeichert als UTF-8 ohne BOM. Wenn ich die Seite im browser, die forign Zeichen scheinen, um ersetzt, mit fremden Zeichen-Kombinationen (â‚, Ã3, Ã). Es ist nur, wenn ich Speichere meine HTML-Dokument als UTF-8 mit BOM, dass die Zeichen dann korrekt angezeigt.
Ich würde wirklich lieber nicht haben, um eine Stückliste in meinen Dateien, aber wer hat eine Ahnung, warum es das tun kann? und ein Weg, um es zu beheben? (andere als einschließlich einer Stückliste)
- Hat die HTML-identifizieren sich selbst als UTF-8-codiert sind?
- Haben Sie angegeben, ist der charset in ein
meta
tag? - Hast du die entsprechenden Dinge mit Ihrem server und meta-tags, um den browser zu informieren, dass der Inhalt ist in der Tat UTF-8?
- Versuchen Sie es mit der standard-Zeichenkodierungen utf8-chartable.de
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie wahrscheinlich nicht die richtige Angabe von Zeichensatz in Ihrem HTML-Datei. Die Stückliste (danke @Jukka), sendet der browser in UTF-.8-Modus; in seiner Abwesenheit, Sie müssen auf einem anderen Weg zu erklären, das Dokument UTF.8.
Wenn Sie Zugriff auf Ihre server-Konfiguration, können Sie wollen, stellen Sie sicher, dass der server nicht senden die falsche Zeichensatz-info. Siehe z.B. So ändern Sie die Standard-Kodierung UTF-8 für Apache?
Wenn Sie nur Zugriff auf Ihre HTML, hinzufügen dieses meta-Tags in Ihrem Dokument Kopf sollte den trick tun:
oder wie @Mathias Punkte heraus, die das neue HTML-5
(nur gültig, wenn Sie eine HTML-5-doctype-Deklaration, gegen die es kein gutes argument mehr, auch wenn Sie nicht verwenden HTML-5-markup.)
<meta charset="utf-8">
. (Wenn Sie nicht mit dem HTML5-DOCTYPE in 2012, dann machst du es falsch.)€
und wie - das würde bedeuten, dass der browser hört nicht auf die Stückliste, nicht wahr? (Re-reading Frage...)<meta>
sind, nicht genug davon zu überzeugen, es der Datei-Codierung. Zum Beispiel in Apache müssen Sie eineAddDefaultCharset Off
Richtlinie, die sich in der.htaccess
- Datei für das Verzeichnis, unter den meisten Konfigurationen.Einfügen
<meta charset="utf-8">
imhead
.Oder setzen Sie den Kopf
Content-Type: text/html;charset=utf-8
auf der server-SeiteSie können auch hinzufügen, in
.htaccess
:AddDefaultCharset UTF-8
mehr info hier http://www.askapache.com/htaccess/setting-charset-in-htaccess.html<meta charset="utf-8">
ist für HTML5 nur. Für HTML4 und früher verwenden<meta http-equiv-"Content-Type" content="text/html; charset=utf-8">
statt.