Benutzer mit den meisten Antworten
Problem mit den Encoding in Eingabefeldern (ä wird zu �) im Firefox

Frage
-
Hallo,
ich habe das folgende Problem und komme damit nicht selbst weiter:
In meinen Seiten werden alle Sonderzeichen die in Eingabefledern eingetragen werden durch ein � ersetzt. Das passiert komischerweise nur bei Firefox - nicht bei IE.
Durch diese "umwandlung" der Zeichen bekomme ich ständig Fehler wie diesen:
Ein möglicherweise gefährlicher Request.Form-Wert wurde vom Client (ctl00$SheetContentPlaceHolder$TB_Bemerkung="Hallo Ren�e ...") entdeckt.
Ich denke, dass da was mit meinen Spracheinstellungen auf der Seite nicht stimmt - nur was?
Es geht um die Seite webshop.officexpress.de
Dort einfach mal im Firefox in der Suche ein ä eingeben und auf suchen klicken :-(
Bin für jede Anregung dankbar!
Joachim
Antworten
-
Hallo,
wir konnten den Fehler gerade beheben. Uns ist aufgefallen, dass die ASP eigene Form eine Codierung angegeben hatte obwohl diese nicht im Code hinterlegt ist. Im IE wird die nicht angezeigt, aber im FF gernated code erscheint es so:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title> <form name="aspnetForm" method="post" action="" id="aspnetForm" accept-charset="ISO-8859-1">
Ich habe jetzt im project bei der ASP Form in der Masterpage das accept-charset="uft-8" mit aufgenommen.
Damit funktioniert es jetzt auch im FireFox ...
Danke an alle für die Mithilfe!
Joachim
- Als Antwort markiert Joachim Siebert Montag, 4. Februar 2013 14:20
Alle Antworten
-
Hallo, bei mir weerden die Umlaute richtig dargestellt, egal ob IE, Firefox oder Chrom.
Ich tippe eher darauf das Firefox bei dir eine Falsche Zeichenkodierung auswählt.
Im Internet fand ich folgende Lösung für den FF:
Ansicht -> Zeichenkodierung -> [x] Westlich (ISO-8859-1) und
Ansicht -> Zeichenkodierung -> Automatisch bestimmen -> [x] Universell
QuelleBei mir ist es so eingestellt und es läuft.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
-
Hallo Joachim,
zeig doch mal bitte die Einstellungen in der web.config. Hier insbesondere:
<system.web> <globalization fileEncoding="..." requestEncoding="..." responseEncoding="..." /> </system.web>
Dann bitte noch jede eingebundene Datei (css, js) prüfen, ob die alle UTF-8 codiert sind, wie es die Webseite vorgibt. Das gilt auch für evtl. vorhandene Werte aus Datenbanken, Dateien, ... die Du einliest. Es reicht oftmals eine einzige Quelle mit einem anderen Zeichensatz, um sowas zu verursachen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Mittwoch, 30. Januar 2013 18:34
-
Hallo Stefan,
das ist die Zeile in der Web.config
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" uiCulture="de" culture="de-DE" />
Das Projekt ist ein multi-Layout-Shopsystem. Die .css Dateien werden durch ein extrenes Programm erstellt (Artisteer). Die Inhalte auf den Seiten kommen aus dem SQL Server (Microsoft SQL Server 2008 (SP3) - 10.0.5500.0)
Ich denke, dass Dein Hinweis mit dem falsch kodieren Inhalten der richtige Punkt ist.
Generell kann ich nicht ausschließen, dass es evtl eine Datei oder einen Inhalt gibt, der falsch formatiert ist. Die Inhalte werden ja durch die User erstellt.
Hast Du eine Idee wie ein solcher falscher Inhalt gefunden werden könnte? Das müsste sich ja im Source der Seite was finden lassen ... oder?
Danke schon mal für die Hilfe!
Joachim
-
Hallo Stefan,
der Ansatz ist wohl richtig. Ich habe auf dem gleichen Server im gleichen Shopsystem eine Seite gefunden, die die Umlaute richtig darstelt. Der Unterschied ist, dass andere Stylesheets geladen werden:
Bleiben also die .css Dateien und der Content, der durch die User erstellt wird und in der DB gespeichert wird.
Die Frage ist also wie finde ich das Teil, das die Probleme macht. Ich habe beide Seiten mal W3C checken lassen. Da kommt leider nicht brauchbares bei raus ...
Joachim
-
Hallo Joachim,
ich würde auf die CSS Dateien tippen. Schau dir die mal mit einem Texteditor wie UltraEdit oder Notepad++ an. Die können dir ggfs. auch sagen, wie die Datei codiert ist (bzw. erraten Sie es in der Regel ganz gut, wenn es man nicht eindeutig ist^^)
Mit Visual Studio kannst Du das auch machen, einfach die CSS Datei öffnen und dann Speichern unter... wählen. Neben dem "Speichern" Button ist dann ein Pfeil, dort kannst Du "Mit Codierung speichern..." wählen.
Der Content wird ja wahrscheinlich über ein Webfrontend in die Datenbank eingetragen. Dort sollte ja hoffentlich auch durchgängig UTF-8 verwendet werden!?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo,
wir konnten den Fehler gerade beheben. Uns ist aufgefallen, dass die ASP eigene Form eine Codierung angegeben hatte obwohl diese nicht im Code hinterlegt ist. Im IE wird die nicht angezeigt, aber im FF gernated code erscheint es so:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title> <form name="aspnetForm" method="post" action="" id="aspnetForm" accept-charset="ISO-8859-1">
Ich habe jetzt im project bei der ASP Form in der Masterpage das accept-charset="uft-8" mit aufgenommen.
Damit funktioniert es jetzt auch im FireFox ...
Danke an alle für die Mithilfe!
Joachim
- Als Antwort markiert Joachim Siebert Montag, 4. Februar 2013 14:20