Hi!
Einen Unterschied kann ich erkennen, wenn ich mir mit FF die Sieteninformationen der Seite ausgeben lassen, wo ich den Suchbegriff eingebe:
Der Liveserver sagt, die Kodierung sei ISO-8859-1, mein Server hingegen sagt etwas von UTF-8.
Das kann auch vom Firefox geraten sein. Gewissheit bekommst du, wenn di dir die livehttpheaders-Extension installierst. Dann siehst du bei den Response-Headern unter Content-Type die charset-Angabe (oder auch keine) Diese hat Vorrang vor dem gleichnamigen Meta-Element.
Ich vermute, dass das irgendwie eine Konfiguration des Servers ist (defualt_charset wird unter phpinfo() allerdings in beiden Fällen mit no value angezeigt).
In dem Fall gilt das, was der Server sendet.
wie ermittel ich die Kodierung der Seite, von der aus das Formular abgeschickt wurde, bzw. wie ermittel ich das auf der Seite selbst, um daraus einen Paramter zu machen, den ich im Form mitschicke.
Die Kodierung der Seite legst du fest, achtest darauf, dass die Daten in dieser Kodierung gehalten sind und konfigurierst das an den entsprechenden Stellen. Im Form gibt es accept-charset, das kann man aber vergessen, weil es nicht unbedingt funktioniert.
Ich bin mir bewusst, dass da langfristig grössere Aufräumarbeiten vorgenommen werden müssen, um die Kodierung auf der ganzen Seite sauber zu vereinheitlichen. Allerdings brauche ich jetzt erst einmal eine kurzfristige Lösung.
header('Content-Type: text/html; charset=...');
überschreibt in der Regel alles, was irgendwo konfiguriert ist. In absteigender Reihenfolge folgen: PHPs default_charset und Charset-Konfiguration vom Apachen (siehe Direktiven-Übersicht, nach charset suchen und alle anschauen, die nicht nach was sehr speziellem aussehen).
Warum sagt der eine Server, die Kodierung sei ISO-8859-1, wähend der andere sagt, sie sei UTF-8?
Das wird an unterschiedliche Konfigurationen liegen.
Lo!