[ä ö ü] im dynamischen Text

astaluego

Erfahrenes Mitglied
Moin!

Ich hab festgestellt das beim dynamischen Text ä ö ü und derweitiges nicht ausgegeben wird und wenn ich zum Beispiel ein Satz einfüge namens "Bücher lesen" schreibt er nur "Blesen". Ich habe jedoch im Eigenschafteninspektor unter "Characters" die ersten vier Optionen ausgewählt. Alle anderen sind ja Fremdsprachen-Buchstaben.
Gibt es hier Abhilfe?

greetz ana
 
Hi,

die Umlaute sind nicht in den Normalen Auswahlgruppen enthalten. Bei Eingaben in deutscher Sprache bette ich daher die Zeichen öäüÖÄÜ und ß immer zusätzlich "von Hand" ein (unter den Auswahloptionen ist ein Textfeld, in dem Du zusätzlich einzelne Zeichen angeben kannst).

Gruß
.
 
Hallo!

Viva Zurigo, amigo!

Welche Version von Flash besitzt du?
Flash codiert die Umlaute in einer speziellen Art, müsste eigentlich irgendwo in der Hilfedatei zu finden sein. Sonst hier die Tabelle:
ü = ü
ö = ö
ä = ä

Nun ersetzt du am besten die falschen Zeichen mit String.substr bevor du den Text an das Textfeld übergibst.

Gruss

Lukas
 
Ja die Lösung stimmt. Aber bei mir bleibt das Problem weiterhin bestehen. Wenn ich mit sendAndLoad Daten aus php hole und sie dan im Textfeld mit den obigen Einstellungen übergebe gibt es trotzdem nur Blesen aus. :(
 
Hi,

ja, das ist ein Unterschied. Bei der ersten Frage ging es augenscheinlich nur darum, ob Flash die entsprechenden Zeichen eingebunden hat. Wenn Du Sonderzeichen von einem Serverscript verarbeitest, musst Du beachten, dass die richtige Codepage (bzw. kompatible Zeichensätze) verwendet werden. Generell würde ich die Zeichen vor dem Versand mit urlencode in eine URL-kompatible Zeichenkette umwandeln und dann in Flash mit unescape wieder zurückwandeln.

Gruß
.
 
Ich habe das Tutorial "Formmailer für Anfänger" in Verwendung und bekomme auch diese Zeichen in mein Postfach:

ü=ue - Ão=UE - ö=oe - Ã-=OE - ä=ae - Ã"=AE

Warum muß ich da etwas hin- und herwandeln? Flash übergibt doch die Daten an php, da muß doch php diese Daten umwandeln und weiterschicken, oder?

Und so ganz nebenbei: Wie geht denn das?

Könnte man das Tutorial um diesen nicht ganz unwesentlichen Teil erweitern, sonst kommt diese Frage wahrscheinlich noch hundertmal von jenen, die das auch verwenden.

Danke.

Helmut
 
Schnelllösung: System.useCodePage = true; an den Anfang der Flashdatei. ;) dann klappts zumindest auf Rechnern mit deutscher Sprache.

Im Unicode-Mode liefert Flash für den Buchstaben "ä" z.B. nach dem escape() folgendes
PHP:
%C3%A4
...vielleicht weiß ja jemand, wie man das in PHP korrekt dekodiert, ich habs bis jetzt nicht gefunden... :confused:

Gruß

EDIT:Ich denke, mit utf8_decode() sollte es gehen, da Flash ohne Codepage-Angabe alle Textdaten als UTF-8 interpretiert. ;) -> Link
.
 
Zuletzt bearbeitet:
Absolut richtig:

alle Daten von PHP nach Flash:

PHP:
$Inhalt = utf8_encode($Inhalt);
echo "&$VarN=$Inhalt";

...

B
 
Unten seht Ihr den Originalcode vom Mailform-Tutorial. Ich habe nun das Skript von Basileus eingefügt bzw. auch abgewandelt in $answer (siehe fett geschrieben), aber es funktioniert einfach nicht. Könnte mir jemand soweit helfen, dass es endlich so läuft wie es laufen soll? Danke.

LG Helmut

Original-Skript:
Code:
<?php
$answer = "Keine Daten zum Verschicken";
 
if (isset($_POST["msg_message"])) {
$msg = "Nachricht von: ".urldecode($_POST["msg_forename"])." ".urldecode($_POST["msg_lastname"])."\n";
$msg .= "	 Telefon: ".urldecode($_POST["msg_tel"])."\n";
$msg .= "	 e-Mail: ".urldecode($_POST["msg_mail"])."\n\n";
$msg .= urldecode($_POST["msg_message"]);
 
if (mail("ich@meinedomain.com", "formulareintrag", $msg) == true) {
	 echo("success=true&");
}
$answer = " Ihre Daten wurden erfolgreich verschickt!";
}
echo("answer=".urlencode($answer));
?>



Geänderter Skript:
Code:
 <?php
$answer = "Keine Daten zum Verschicken";

 
if (isset($_POST["msg_message"])) {
$msg = "Nachricht von: ".urldecode($_POST["msg_forename"])." ".urldecode($_POST["msg_lastname"])."\n";
$msg .= "	 Telefon: ".urldecode($_POST["msg_tel"])."\n";
$msg .= "	 e-Mail: ".urldecode($_POST["msg_mail"])."\n\n";
$msg .= urldecode($_POST["msg_message"]);
 
if (mail("ich@meinedomain.com", "formulareintrag", $msg) == true) {
	 echo("success=true&");
}
$answer = " Ihre Daten wurden erfolgreich verschickt!";
}

$answer= utf8_encode($answer); 
echo("answer=".urlencode("&$VarN=$answer"));
 
?>
 

Neue Beiträge

Zurück