| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| [ tiger ] Registriert seit: Dec 2002 Ort: bei Stuttgart
Beiträge: 327
| Flash-Formular -> Php macht ein Problem
Hallo, erstmal will ich sagen, daß ich alle Beiträge, die auch nur das Wort UTF-8 beinhalten hier die letzten Stunden gelesen habe. Mein Problem: Ich habe ein Flash-Formular. Ohne Code: System.useCodePage = true Hiermit versende ich die Daten: Code: this.loadVariables("guestbook_add.php","POST"); Code: $entry = utf8_decode($entry); ???î??â? anstatt von ğİıâĞ Habe ich etwas grundsätzlich falsch verstanden? Was ich noch anmerken möchte. Der andere Weg PHP -> XML -> Flash funktioniert einwandfrei. Wer hat Ideen? Vielen Dank, Stephan
__________________ let freedom ring with a shotgun blast |
| | |
| | #2 (permalink) | |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
| Zitat:
Die von dir genannten Glyphen sind halt m.E. schlicht und ergreifend nicht im ISO-Charset vorhanden, so dass da ja nur Mist rauskommen kann... Wenn du die unbedingt brauchst, musst die Mail halt auch UTF-8-kodiert verschicken. Dabei den Content-type-Header nicht vergessen..!
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) | |
| | |
| | #3 (permalink) |
| [ tiger ] Registriert seit: Dec 2002 Ort: bei Stuttgart
Beiträge: 327
|
Ok, aber wenn ich die Daten zb in mySQL abspeichere, kommen auch nur die ??? usw an - obwohl die Daten per utf8_decode "decodiert" wurden. Es muß doch möglich sein daß man Daten in ein Flash-Formular eingibt, weiterverarbeiten kann. Ich werde mal googeln. Bin immer noch gespannt auf Ideen, Hinweise und Lösungen *ggg
__________________ let freedom ring with a shotgun blast |
| | |
| | #4 (permalink) | |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
| Zitat:
Nochmal langsam: utf8_decode() dekodiert von UTF-8 nach ISO-8859-1. Werfen wir einen Blick in die Zeichentabelle von ISO-8859-1: http://de.wikipedia.org/wiki/ISO-8859-1 ... und sehen dann, dass deine komischen Glyphen da nicht drin sind. Wie also sollten die im ISO-Raum dargestellt werden..? Jetzt kapiert..?
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) | |
| | |
| | #5 (permalink) |
| [ tiger ] Registriert seit: Dec 2002 Ort: bei Stuttgart
Beiträge: 327
|
Aber das würde bedeuten, daß man z.B. kein türkisches Gästebuch auf Flashbasis anbieten kann - außer man macht halt System.userCodePage=true Das wäre bitter!
__________________ let freedom ring with a shotgun blast |
| | |
| | #6 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Natürlich kann man das. Du musst halt im UTF-8-Zeichenraum bleiben und nix dekodieren...
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #7 (permalink) |
| [ tiger ] Registriert seit: Dec 2002 Ort: bei Stuttgart
Beiträge: 327
|
Ok, aber dann weiß ich nicht weiter. Es ist so, daß das Projekt quasi ein türkisches Flashgästebuch auf PHP/MySQL-Basis ist. Wenn ich wie oben beschrieben, anstatt eine Mail zu versenden die Daten in MySQL speichern will, macht er auch nicht die Glyphen, sondern ğİıâĞ. Ich kann nicht verstehen, wo der Haken ist. Kannst Du mir einen Tipp geben? Hier nochmal mein Verständnis wie die Daten wandern: Code: Flash:
Daten werden eingegeben
Daten werden per loadVariables (mit POST) versandt
Die Daten sind wohl noch UTF-8
Php
Daten werden verarbeitet
-> $entry = utf8_decode($_POST['entry']);
Daten in MySQL speichern
-> INSERT INTO tabelle (entry) VALUES ('$entry');
__________________ let freedom ring with a shotgun blast |
| | |
| | #8 (permalink) | |||
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
| Zitat:
Code: -> $entry = utf8_decode($_POST['entry']); Zitat:
Zitat:
Und dass das, was in der MySQL-Tabelle landet, erstmal nicht gut aussieht, ist klar. Aber das passt schon - darin steht der "Versuch einer Darstellung" der UTF-Doppelbyte-Zeichen, aber kaputt geht - normalerweise - nix.
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) Geändert von sonar (31-08-2006 um 18:05 Uhr) | |||
| | |
| | #9 (permalink) |
| [ tiger ] Registriert seit: Dec 2002 Ort: bei Stuttgart
Beiträge: 327
|
Hallo, ich bin leider erst jetzt dazu gekommen, das zu testen. Leider hat es nichts gebracht. Wenn ich das Dekodieren weglasse habe ich anstatt: âÇçĞğİiIıîÖöŞşÜü nur âÇçĞğİiIıîÖöŞşÜü Meine Befürchtung, daß das mit der MySQL-Tabellen-Koallition zu tun haben könnte, haben sich nicht bestätigt. Diese steht nämlich auf utf8_unicode_ci. Mein Ausweg wird wohl sein, daß ich die Sonderzeichen einfach nicht im Flash-Eingabe-Formular zulasse. Trotzdem versteh ich das nicht. Weil die Daten gehen doch utf-8-kodiert von Flash an Php. Wenn ich jetzt die Daten mit Php in MySQL speichere, dann speichert er das rohe utf8-kodierte âÇçĞğİiIıîÖöŞşÜü Beim Auslesen mache ich auch kein decode, aber Flash stellt mir trotz System.useCodepage = false; auch nur diese Zeichen dar... Kann es sein, daß MySQL die utf-8-kodierten Daten nochmal kodiert ???
__________________ let freedom ring with a shotgun blast |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |