Hallo!
Dann vermute ich einen Fehler in der Scriptverarbeitung oder Clientkommunikation. Ist das Script UTF-8 kodiert? Stimmt die charset-Angabe im Content-Type-Meta-Element?
Das könnte ein kritischer Punkt sein. Ich versuche mal den Aufbau zu erklären:
Die Seite A, wo die Suche gestartet wird, ist utf8 kodiert und mit der richtigen Charset Angabe.
Nach dem Absenden von A wird auf Seite B verzweigt. Das ist eine reine Script-Seite wo die Suche formatiert wird und ein Function aus einer library aufgerufen wird.
Die Seite B ist utf8 kodiert und mit "header('Content-type: text/html; charset=utf-8');" formatiert.
Von dieser Seite verzweige ich mit einem "header('Location: http://'.getenv('HTT..." nach erfolgreichem Aufruf der Function entweder wieder auf Seite A oder im Falle eines Fehlers auf Seite C wo die Fehlermeldung ausgegben wird. Und wegen dem header('Location... darf auf Seite B keinerlei html Ausgabe erfolgen.
Kann darin die Ursache des Problems liegen?
Sendet der Server einen gleichnamigen HTTP-Header?[1][2] Ist für das Formular irgendeine charset-Angabe vorhanden?[3] Wie sieht die Byte-Folge aus, die du an die Datenbank sendest?[4] Werden sonst irgendwelche zeichenkodierungsrelevanten Dinge verwendet?[5]
[1] Firefox mit livehttpheaders-extension eignet sich, um dies zu überprüfen.
Ich habe sie gesucht aber nicht gefunden, die "livehttpheaders-extension" für den Firefox. Kann mir vielleicht jemand sagen wo man diese bekommt?
[2] Dieser hat Vorrang vor der Meta-Angabe.
[3] Ist nicht unbedingt nötig, aber falls doch ...
[4] echo chunk_split(bin2hex($sql), 2, ' ');
Ich habe nach dem opendb() den query für die MySQL Abfrage an $sql übergeben. Und bekomme die folgende Ausgabe:
56 c5 a1 65
Mit den Hexadezimal Werten kann ich leider nicht so viel Anfangen. Wo kann ich da entsprechenden Infos bekommen?
Das werde ich mir dann gleich noch mal anschauen.
Auf jeden Fall schon einmal tausend Dank an Dich dedlfix für die Unterstützung!!!
Gruß Marcel