|
|
|||||||
SWiSHmax 2
|
Professionelle Bilder ab 1 €
|
| Stichworte |
| umlaute, vergleichen |
![]() |
|
|
LinkBack | Thread Tools |
|
|||||||||||||||||||||||
|
Hallo Leute. Ich habe folgendes Problem:
Ich habe einen Flashlogin der die Variablen per POST an die PHP Datei übergibt. Ich habe im PHP Header und im Metatag als Zeichensatz utf-8 eingestellt und in meinem Editor auch. Der Login funktioniert aber nichtmehr sobald Umlaute im Text sind. Folgende Query wird an die DB geschickt die in UTF-general codiert ist. In meiner PHP Datei erhalte ich die Meldung, dass es den Datensatz nicht gibt. Kopiere ich die Query aber in PHPMyAdmin funktioniert sie einwandfrei. Ohne Umlaute geht alles Problemlos. Woran kann das liegen??
|
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Welches Format hat denn die Datenbanktabelle/Feld?
Tom |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
So habe jetzt folgendes Experiment gemacht:
1.In Swish einen Flash exportiert mit nur einem Input Feld mit einer Variable drin. 2.PHP Datei erstellt mit UTF-8 die die Variable empfängt und ausgibt Was ich erhalte ist nur ein : üü ...... Am FTP Upload kanns nicht liegen denn ich teste die Datei auf Localhost(Xampp). PHP Code: PHP Code:
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Das Feld hat UTF-8 General
|
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
dann ist Deine PHP nicht utf-8
Tom |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Also mein einfaches Beispiel hat jetzt geklappt. Hab die Datei mit Texteditor erstellt und als utf-8 abgespeichert. Der ganze PHP Code der Logindatei: PHP Code:
Last edited by Olli : 11.03.2010 at 13:43. Reason: Code lesbarer formatiert |
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Da fehlt vorallem ein entsprechender Header der die Ausgabe als UTF-8 enkodiert ausweist. Aber somit ist zumindest klar das die Daten vom Flash Film korrekt als UTF-8 übergeben werden, nun kannst du dich aufmachen die möglichen von mir genannten Ursachen für das Vergleichsproblem zu prüfen, also Bearbeitung vor der Übergabe, Verbindungszeichensatz, und Format in der Datenbank.
edit: diese Antwort war auf Post Nr. 5 bezogen... Gruß Olli Last edited by Olli : 11.03.2010 at 13:30. |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Quote:
Also der Flash übergibt die Daten einwandfrei per Get. sie werden richtig ausgegeben und die Datei ist in UTF-8. Der Header der Datei ist in der Datei head.inc zu finden: PHP Code:
|
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Na du hast die Scripte doch vor dir, da siehst du zum einen ob die Daten vorher verändert werden, und zum anderen kannst du sie vor der Übergabe ausgeben (was du ja scheinbar auch schon machst).
btw. Falls das nicht irgendwo versteckt in inkludierten Dateien gemacht wird, dann benutze bitte unbedingt [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. ]! Verlass dich nicht auf [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. ]. Gruß Olli ps. bitte denk das nächste mal daran deinen Code ein wenig leserlicher zu formatieren, das so ohne jegliche Einrückungen zu lesen ist echt anstrengend. Danke. Last edited by Olli : 11.03.2010 at 13:55. |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Ok danke.
Jetzt sieht mein Script so aus: PHP Code:
Kopiere ich die Query in PHPmyadmin gehts natürlich. Ich mach mal alle Charset angaben raus... und vielen Dank für die Codeformatierung ich werd in zukunft mal mehr darauf achten wenn ich einen ordentlichen Editor hab.. edit: Habe jetzt alle Formatierungen (header/meta) entfernt und alles wird noch richtig angezeigt..... nur die Query klappt nicht (immernoch nur wenn ich sie in PHPMYADMIN kopiere) Last edited by html-freak : 11.03.2010 at 15:26. |
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Dann prüfe doch bitte noch die anderen Punkte die ich angesprochen habe, Verbindungszeichensatz und Format der Daten in der Tabelle (nicht die Kollation, sondern die Daten selbst).
Verbindungszeichensatz prüfen: PHP Code:
Code:
SHOW VARIABLES LIKE 'character_set%'; Code:
SHOW VARIABLES LIKE 'collation%'; PHP Code:
Olli |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Quote:
collation_connection utf8_general_ci collation_database utf8_general_ci collation_server latin1_swedish_ci (wo änder ich den?) Und Client encoding: latin1 Alles andere ist UTF-8 |
|||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Ich sehe gerade das mysql_client_encoding wohl ziemlich nutzlos ist da es auch nach Änderung des Zeichensatzes immer den alten Wert zurückgibt... nunja, Abhilfe schafft dann halt "SHOW VARIABLES LIKE 'collation%'" via PHP.
Aber wie dem auch sei, die Server Kollation ist nicht wichtig, was wichtig ist das ist der Zeichensatz der Tabelle/Spalte und der Verbindungszeichensatz in deinem Script. In phpMyAdmin klappt es wie man sieht mit UTF8, mehr als dich also nochmal darauf hinzuweisen das du den Zeichensatz für deine Verbindung entsprechend festlegen musst kann ich erstmal nicht machen (evtl noch die Link Ressource als zweiten Parameter übergeben): PHP Code:
Olli |
||||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Quote:
Vielen Dank. Ich weis auch nicht was da eben noch falsch war weil ich hatte die Query davor eingefügt aber jetzt klappt es einwandfrei :) Jetzt sind alle meine Umlautprobleme gelöst glaube ich :D |
|||||||||||||||||||||||
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Umlaute in PHP-Variablen | mappi | Swishmax - SwishScript | 11 | 05.09.2008 23:24 |
| Umlaute in Variablen | Sgt.Warhorse | Swishmax - SwishScript | 7 | 14.01.2008 17:32 |
| GetURL und Umlaute | McSaesch | Swishmax - SwishScript | 3 | 11.06.2007 16:54 |
| Umlaute bei Template53 | DirkB | Swishtemplates /Vorlagen | 2 | 29.11.2006 19:36 |
| Einlesen und vergleichen von Variablen | PrinzEmu | Swishmax - Fortgeschrittene | 9 | 10.01.2005 14:26 |