Charset ermitteln
Max
- programmiertechnik
Ich habe ein nerviges Problem und hoffe, ich bin jetzt im richtigen Themenbereich gelandet.
Ich will von meinem Server aus ein Formular abschicken (POST), welches eigentlich auf einem anderen Server liegt. Also habe ich den Formularkram in meine Webseite integriert und als ACTION die URI des anderen Servers genommen. So weit funktioniert das auch. Jetzt kommt der Haken: Auf dem anderen Server wird immer wieder mal die Charsetcodierung geändert (ich denke mal serverseitig - warum auch immer). Das führt dazu, daß ich bei mir immer die Angabe ACCEPT-CHARSET anpassen muß (ISO und UTF). Das ist natürlich lästig und fehleranfällig.
Gibt's eine Möglichkeit (PHP, JavaScript oder sonst was ähnliches), wie ich vor dem Absenden die Codierung des fremden Servers abfragen kann?
echo $begrüßung;
Gibt's eine Möglichkeit (PHP, JavaScript oder sonst was ähnliches), wie ich vor dem Absenden die Codierung des fremden Servers abfragen kann?
Im HTTP-Header "Content-Type" einer HTML-Ressource steht die verwendete Kodierung dieses Dokuments. Ersatzweise steht sie im gleichnamigen Meta-Element des HTML-Headers. Und dem Formular kann man mit accept-charset noch eine ganz andere Kodierung wünschen. Es bleibt dir wohl nichts anderes übrig, als diese Werte von der Formularseite aktuell auszulesen, um sie zu verwenden.
echo "$verabschiedung $name";
Im HTTP-Header "Content-Type" einer HTML-Ressource steht die verwendete Kodierung dieses Dokuments.
Und wie hilft mir das weiter? Der Content-Type interessiert mich ja nicht.
Und im Original Formular ist kein Charset angegeben.
Tach.
Im HTTP-Header "Content-Type" einer HTML-Ressource steht die verwendete Kodierung dieses Dokuments.
Und wie hilft mir das weiter? Der Content-Type interessiert mich ja nicht.
Und im Original Formular ist kein Charset angegeben.
Da es keine "Codierung des Servers" gibt, kannst du dich maximal an den von dedlfix genannten Eigenschaften orientieren. Was die einzelnen Skripte auf dem fremden Server intern nun für Codierungen voraussetzen und verarbeiten, wissen die nur selber.
Da es keine "Codierung des Servers" gibt, kannst du dich maximal an den von dedlfix genannten Eigenschaften orientieren. Was die einzelnen Skripte auf dem fremden Server intern nun für Codierungen voraussetzen und verarbeiten, wissen die nur selber.
Aber der HTTP-Header liefert lediglich "text" oder ähnliches. Das nützt gar nichts. Da beim Original Formular kein Charset angegeben ist, muß ich "einfach nur" wissen, mit welchem Charset die Webseite mit dem Original Formular verschickt wurde, um dann dieses Charset beim absenden vorzugeben.
echo $begrüßung;
Aber der HTTP-Header liefert lediglich "text" oder ähnliches. Das nützt gar nichts. Da beim Original Formular kein Charset angegeben ist, muß ich "einfach nur" wissen, mit welchem Charset die Webseite mit dem Original Formular verschickt wurde, um dann dieses Charset beim absenden vorzugeben.
Das habe ich doch aufgezählt. Wenn kein HTTP-Header mitgesendet wird wirkt die Ersatzangabe im Meta-Element namens Content-Type. Wenn dort ebenfalls keine drin steht muss der Client notgedrungen raten. Und beide (eigentlich ja drei) Möglichkeiten werden durch accept-charset im Formular überschrieben, so dieses Attribut vorhanden ist.
echo "$verabschiedung $name";