[PHP/Ajax] "besondere" Sonderzeichen

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

  • [PHP/Ajax] "besondere" Sonderzeichen

    Hallo,

    ...ja ich habe die Suche benutzt und zwar genauso oft wie ich gegooglet habe.

    Das Problem:

    Benutzer können über eine HTML textarea, text eingeben (charset=UTF-8). Der Text wird via Ajax ( encodeURIComponent() und setRequestHeader('Content-Type', 'application/x-www-urlencoded;') ) an PHP gesendet.
    Im PHP-Dokument wird der Text nun umgewandelt in iso-8859-1 (latin1) mit der Funktion utf8_decode() und soll in ein Textdokument geschrieben werden.
    Umlaute wie "ä, ö, ü" werden ohne Problem in die Textdatei eingetragen, aber Sonderzeichen wie das Anführungszeichen unten „ oder Anführungszeichen oben “ werden mit einem ? ersetzt.

    Hat jemand eine Idee wie man diese ohne Probleme in die .txt schreiben lassen kann?

    Vielen Dank im vorraus.

    EDIT: Auch Sonderzeichen wie ‡† werden mit einem ? ersetzt.
    Zuletzt geändert von tiff; 11.03.2007, 17:39.
    Mein Projekt: Online Rechtschreibkontrolle (basierend auf PHP)

  • #2
    Richtig!
    die von dir aufgelistete Zeichen fehlen einfach in Latin-1 und werden als "?"
    bei umwandlung interpretiert.
    was spricht eigentlich gegen utf-8?
    warum muss du diese Umwandlung vornehmen?
    EDIT:
    wenn es daran liegt, dass du deine textdateine nicht ansehen kannst, dann schreibe einfach an dateianfang  rein, und jetzt kannst du mit textedietor die datei ansehen
    Zuletzt geändert von Slava; 11.03.2007, 18:26.
    Slava
    bituniverse.com

    Kommentar


    • #3
      ....Oh okay. Bin fest davon ausgegangen, dass die Anführungszeichen oben und unten zu dem Westeuropäischen Zeichensatz gehören.
      Für Latin1 spricht, dass die Linux Programmbibliothek die die .txt verarbeiten soll nur diesen Zeichensatz unterstützt.
      Schade, trotzdem danke.
      Mein Projekt: Online Rechtschreibkontrolle (basierend auf PHP)

      Kommentar


      • #4
        was macht deine linux programm?
        Slava
        bituniverse.com

        Kommentar


        • #5
          Rechtschreibprüfung
          Mein Projekt: Online Rechtschreibkontrolle (basierend auf PHP)

          Kommentar


          • #6
            dann muss du die Zeichen, die nicht zu Latin-1 gehören einfach aus deinen Text-dateien ausschlissen.
            Slava
            bituniverse.com

            Kommentar


            • #7
              Alles was per AJAX gesendet werden soll einmal durch htmlentities($string, ENT_QUOTES); jagen.
              Sunshine CMS
              BannerAdManagement
              Borlabs - because we make IT easier
              Formulargenerator [color=red]Neu![/color]
              Herkunftsstatistik [color=red]Neu![/color]

              Kommentar


              • #8
                Original geschrieben von Benny-one
                Alles was per AJAX gesendet werden soll einmal durch htmlentities($string, ENT_QUOTES); jagen.
                Ja.
                Aber das kann nicht Latin-1 mit neuen zeichen erweitern " ‡† “ ".
                und es kann auch gut sein, dass die hex- darstellung von diesen zeichen von seiner Rechtsschreib-Programm als Fehler erkannt werden.
                Slava
                bituniverse.com

                Kommentar


                • #9
                  Original geschrieben von Benny-one
                  Alles was per AJAX gesendet werden soll einmal durch htmlentities($string, ENT_QUOTES); jagen.
                  das holt noch lange nicht alles raus. Gedankenstrich und auch 66 99 anführungszeichen werden da nicht umgeschrieben..
                  Die Milch bleibt ranzig!

                  Kommentar


                  • #10
                    PHP-Code:
                    $fragezeichen=md5(time());
                    $original_txt_utf8;
                    $fuer_rechtsschreibung=mb_ereg_replace("\?",$fragezeichen,$original_txt_utf8);
                    $fuer_rechtsschreibung=str_replace(array("?",$fragezeichen),
                                                                              array(
                    "","?",
                                                                              
                    utf8_decode($fuer_rechtsschreibung) ;

                    deine_rechtsschreibung_funktion($fuer_rechtsschre); 
                    und original-text empfehle ich weiterhin als utf-8 zu speichern.
                    Slava
                    bituniverse.com

                    Kommentar


                    • #11
                      es ist definitiv die bessere lösung, eine neue rechtschreibprüfung zu suchen, da utf-8 imho quasi standard ist bzw. wird!

                      Kommentar

                      Lädt...
                      X