Hi, ich habe für meine FH die Aufgabe eine Datenbankanwendung auf Basis von PHP zu entwickeln. Als Datenbank steht mir eine Oracle-Datenbank zur Verfügung.
Mein Problem ist, dass Oracle keine Sonderzeichen beherrscht (jedenfalls nicht die uns zur Verfügung gestellte). Um die zu umgehen wollte ich alle Sonderzeichen welche auftreten mit str_replace() ersetzen.
jedoch scheint es bei der Übertragung der Daten via $_POST oder $_GET zu einem Kodierungsfehler zu kommen.
Das stückchen Code sollte eigentlich wenn in $_GET['search'] auch ein ä gespeichert ist mir
2
2
ausgeben.
Die wirkliche ausgabe ist aber leider
1
2
Damit ist auch klar warum str_replace() lange suchen kann und nie ein sonderzeichen zum ersetzen findet.
Das Problem liegt also in der Kodierung und auch meine Versuche in UTF-8 ohne BOM zu speichern, was bei anderen mit dem selben Problem zur Lösung führte, brachte kein verändertes ergebnis (ausser ich war zu dämlich die Kodierung richtig zu ändern).
Und so langsam bin ich verzweifelt. Wenn einer von euch eine Idee hat wäre ich sehr verbunden
Informationen die vielleicht noch nützlich sind:
PHP-Dateien liegen auf einem Server der FH, OS: Linux (sry genauer weiss ichs echt nicht)
Editor: Netbeans 7.0.1
aktuelle Kodierung angegeben von Netbeans UTF-8
Ziel: Werte die via $_POST oder $_GET empfangen wurden nach Sonderzeichen zu durchsuchen und diese zu ersetzen
Mein Problem ist, dass Oracle keine Sonderzeichen beherrscht (jedenfalls nicht die uns zur Verfügung gestellte). Um die zu umgehen wollte ich alle Sonderzeichen welche auftreten mit str_replace() ersetzen.
jedoch scheint es bei der Übertragung der Daten via $_POST oder $_GET zu einem Kodierungsfehler zu kommen.
PHP-Code:
$search=$_GET['search'];
echo strlen($search);
echo strlen("ä");
2
2
ausgeben.
Die wirkliche ausgabe ist aber leider
1
2
Damit ist auch klar warum str_replace() lange suchen kann und nie ein sonderzeichen zum ersetzen findet.
Das Problem liegt also in der Kodierung und auch meine Versuche in UTF-8 ohne BOM zu speichern, was bei anderen mit dem selben Problem zur Lösung führte, brachte kein verändertes ergebnis (ausser ich war zu dämlich die Kodierung richtig zu ändern).
Und so langsam bin ich verzweifelt. Wenn einer von euch eine Idee hat wäre ich sehr verbunden

Informationen die vielleicht noch nützlich sind:
PHP-Dateien liegen auf einem Server der FH, OS: Linux (sry genauer weiss ichs echt nicht)
Editor: Netbeans 7.0.1
aktuelle Kodierung angegeben von Netbeans UTF-8
Ziel: Werte die via $_POST oder $_GET empfangen wurden nach Sonderzeichen zu durchsuchen und diese zu ersetzen

Kommentar