Problem mit Umlauten in einer E-card/Benachrichtigungsmail

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Umlauten in einer E-card/Benachrichtigungsmail

    Hallo,
    folgendes Problem: Habe mir aus dem Englischen ein Tutorial heruntergeladen,
    um eine E-card in meinen Flashsite zu bauen. Alles klappt prima, bis auf das die
    Benachrichtigungsmail keine Umlaute (ÄÖÜäöü) darstellt. Wiederum in der E-card
    die durch ein Link in der Mail aufgerufen wird, ist alles korrekt dargestellt.

    z.B. "Wer möchte MÀrchenprinz werden!"

    Ich benutze zwei PHP-scripte 1. Zum versenden der Angaben 2. Auswahl und Aufruf der E-card.
    Ich nehme mal an das ich das Script noch ergänzen muß, da ja im englischen keine Umlaute vorhanden sind.
    Kann mir jemand helfen, welche und wo ich diese Scriptzeile einbauen muß?

    Hier ein Link zum ausprobieren! http://www.sidewalks.de/sidewalks/ecardreiter_47.html

    Danke!

  • #2
    Es wäre nett, wenn du zumindest mal den Befehl für das Verschicken der mail ( mail(...) ) posten würdest, und vielleicht auch noch den Text, denn sonst weiß denk ich keiner, woran es liegen kann
    Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

    Kommentar


    • #3
      Aus Flash heraus versende ich mit dem Buton-script :

      on (release) {
      if (ToName eq "") {
      _parent.Status = "Bitte tragen den Namen des Empfängers ein";
      } else if (FromName eq "") {
      _parent.Status = "Bitte tragen sie ihren Namen ein";
      } else if (ToEmail eq "") {
      _parent.Status = "Bitte tragen sie die Emailadresse des Empfängers ein";
      } else if (FromEmail eq "") {
      _parent.Status = "Bitte tragen sie ihre Emailadresse ein";
      // } else if (Greeting eq "") {
      // _parent.Status = "Bitte tragen sie eine Begrüssungs Nachricht ein";
      } else if (IntroMessage eq "") {
      _parent.Status = "Bitte tragen sie eine Nachricht ein";
      } else {
      _parent.gotoAndStop (5);
      _parent.Status = "Ecard wird versendet - Bitte warten";
      // loadVariablesNum ("SendEcard.php", 0, "POST");
      loadVariablesNum ("download/e_cards/SendEcard_02.php", 0, "POST");
      }
      }


      Das dazugehörige Php senden-Script lautet:

      PHP-Code:
      <?

      $CreateEcard = date(U);

      $filename = $CreateEcard.".txt";

      $ToName = stripslashes($ToName);
      $FromName = stripslashes($FromName);
      $Greeting = stripslashes($Greeting);
      $IntroMessage = stripslashes($IntroMessage);
      $EndMessage = stripslashes($EndMessage);


      ############# Umwandlung des englischen Wochentages in den deutschen

      $Wochentageszahl =date(w);
      switch($Wochentageszahl) {
          case "0":
              $Wochentag="Sonntag, den";
              break;
          case "1":
              $Wochentag="Montag, den";
              break;
          case "2":
              $Wochentag="Dienstag, den";
              break;
          case "3":
              $Wochentag="Mittwoch, den";
              break;
          case "4":
              $Wochentag="Donnerstag, den";
              break;
          case "5":
              $Wochentag="Freitag, den";
              break;
          case "6":
              $Wochentag="Samstag, den";
              break;
          }
          
      #### Umwandlung des englischen Monats in den deutschen oder alternativ 
      #### $Datum= (date ("d.m.Y"));   z.B.(Tag.Monat.Jahr)

      $Monatszahl=date(n);
      switch($Monatszahl) {
          case "1":
              $Monat="Januar";
              break;
          case "2":
              $Monat="Februar";
              break;
          case "3":
              $Monat="März";
              break;
          case "4":
              $Monat="April";
              break;
          case "5":
              $Monat="May";
              break;
          case "6":
              $Monat="Juni";
              break;
          case "7":
              $Monat="Juli";
              break;
          case "8":
              $Monat="August";
              break;
          case "9":
              $Monat="September";
              break;
          case "10":
              $Monat="Oktober";
              break;
          case "11":
              $Monat="November";
              break;
          case "12":
              $Monat="Dezember";
              break;
          }


      $Tag = (date ("d."));

      $Jahr = (date ("Y"));

      $Zeit = (date ("H:i:s",time()));



      $Created="Die E-card wurde von $FromName am $Wochentag $Tag$Monat $Jahr um $Zeit versendet.";

      $EcardNum = $EcardSelect;

      $EcardText = "ToName=$ToName&ToEmail=$ToEmail&FromName=$";
      $EcardText .= "FromName&FromEmail=$FromEmail&Greeting=";
      $EcardText .= "$Greeting&IntroMessage=$IntroMessage&Created=$Created";


      $fp = fopen( "./dBText/$filename","w"); 
      fwrite($fp, $EcardText, 10000); 
      fclose( $fp ); 

      ######Email Card########
      ## You can change the subject and the message part around.
      ## Make sure to change the Link as stated in the Tutorial.
      ## (Change from 'someSite' to your actual site - leave the rest the same


      $ToSubject = "Sie haben eine E-card erhalten von $FromName  ($FromEmail)";
      $Message = "\n$ToName,\n";
      $Message .= "Sie haben eine E-card erhalten von $FromName  ($FromEmail). \n";
      $Message .= "Klicken sie den folgenden Link, um ihre E-card anzuschauen:\n";
      $Message .= "\n [url]http://www.sidewalks.de/sidewalks/download/";
      $Message .= "e_cards/SelectCardDesign_02.php?EcardText=";
      $Message .= "[/url]$CreateEcard&ENum=$EcardNum\n";
      $Message .= "\n-----------------------------------\n\nHier ist die Nachricht die Ihnen";
      $Message .= "Zugesendet wurde:\n";
      $Message .= "\n$ToName,\n$Greeting\n$IntroMessage\n\n-$FromName\n\n";
      $Message .= "\n-----------------------------------\nDiese E-Card wurde von ";
      $Message .= "[url]http://www.sidewalks.de[/url] versendet\n\n Sidewalks";

      ###################
      ## This line actually sends the email - you should not have to change this.

      mail($ToName." <".$ToEmail.">",$ToSubject, $Message, "From: ".$FromName." <".$FromEmail.">");


      ## This next line returns a success message to the movie.
      print "_level10.ecardreiter_2_ani.ecardreiter_2.Status=Ihre E-card wurde versendet!";

      #### End #########
      ## By: Jeffrey F. Hill
      ## [url]www.flash-db.com[/url]

      ?>
      Zuletzt geändert von Stefan 067; 19.11.2004, 14:19.

      Kommentar


      • #4
        Punkt 1: Es wäre vielleicht angebracht diese Monster-Zuweisung an $Message zu unterteilen.
        Punkt 2: so wie ich es sehen demaskierst du die Anführungszeichen in dieser Anweisung gar nicht. ich frag mich also ob diese Zuweisung überhaupt das macht, was du willst.

        Das Unterteilen der Zuweisung geht z.B. so:
        PHP-Code:
        $Message "\n$ToName,\n";
        $Message .= "Sie haben eine E-card erhalten von $FromName  ($FromEmail). \n";
        $Message .= "Klicken ... 
        das hilft zwar noch nicht bei den Umlauten, aber viellecht kann ich dann auch auf einen Blick sehen, was da zugewiesen wird und habe den Anfang der Zeile nicht schon vergessen, wenn ich am Ende bin.
        Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

        Kommentar


        • #5
          Jetzt fehlt auf jeden Fall noch die Demaskierungen für die Anführungszeichen also nicht [COLOR=blue]href="http[/COLOR] sondern [COLOR=blue]href=\"http[/COLOR] .

          Das mit den Umlauten liegt wahrscheinlich am Zeichencode. Am besten mal in diesem Posting schaun:
          http://www.php-resource.de/forum/sho...threadid=41772
          Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

          Kommentar

          Lädt...
          X