php und sonderzeichen

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

  • php und sonderzeichen

    Hi Forum,
    ich habe ein Prob mit den deutschen Zeichen ß,ö,ä,ü...Wenn ich einen Datensatz auslesen, dann kommt statt diesen sonderzeichen immer so komische andere Zeichen...Wie kann ich das umgehen..der Datenty in mysql ist "TEXT"...
    Vielen Dank und cya
    trekkie2003
    www.hsv-hockenheim.com
    www.carl-theodor-schule.de
    www.hockenheimring.de
    www.uni-heidelberg.de

  • #2
    komische zeichen?

    also erstmal: was verstehst du unter "komische zeichen"?
    erklär das mal genauer...

    ich kann jetzt also nur raten, also rat ich mal:
    htmlentities()
    htmlspecialchars()
    Apache 1.3.27
    PHP 4.2.1
    MySQL 2.5.1
    SuSE Linux 8.1

    Kommentar


    • #3
      Es handelt sich um ein Gästebuch:
      Zum beispiel wenn der Text, denn ich eingegeben habe Gästebuch ist ...wird dann G„stebucheintrag ausgegeben....
      Soll ich bei der eingabe alles durch dieses htmlentities() laufen lassen???

      danke für deine Hilfe
      trekkie2003
      www.hsv-hockenheim.com
      www.carl-theodor-schule.de
      www.hockenheimring.de
      www.uni-heidelberg.de

      Kommentar


      • #4
        dann sollte es funktionieren....
        Apache 1.3.27
        PHP 4.2.1
        MySQL 2.5.1
        SuSE Linux 8.1

        Kommentar


        • #5
          Eigentlich werden Text-Sachen so in die Datenbank geschrieben, wie sie geliefert werden. Ein Ä wird also als Ä in die Datenbank geschrieben.

          Um sicher zu gehen, kannst Du natürlich die Umlaute des gesamten GB-Text mittels
          PHP-Code:
          $gb_text str_replace("ä""ä"$gb_text);
          $gb_text str_replace("ö""ö"$gb_text);
          .
          .

          vor dem Sichern entsprechend abändern und dann sichern.

          Beim Auslesen bzw. Darstellen der Einträge machst Du dann einfach mittels
          PHP-Code:
          $gb_text str_replace("ä""ä"$gb_text); 
          wieder "zurückverwandeln".

          Kommentar


          • #6
            Datenbank

            Ich muss dazu sagen, dass es in der Datenbank schon korrekt steht...also in der Spalte mit dem Text "Gästebuch" steht das auch so korrekt drin..nur beim auslesen mit PHP wird das dann plötzlich zu "G„stebucheintrag" also ohne "ä"...

            @Innuendo...ich brauche das nicht mehr zurückverwandeln, da html doch diese Zeichen einwandfrei lesen kann!

            Danke für eure Hilfe!!!!!
            www.hsv-hockenheim.com
            www.carl-theodor-schule.de
            www.hockenheimring.de
            www.uni-heidelberg.de

            Kommentar


            • #7
              Womit gibst Du denn den Datensatz aus?

              Kommentar


              • #8
                PHP-Code:
                $sql_befehl="SELECT * FROM gaestebuch";
                $ergebnis=mysql_query($sql_befehl,$verbindung);
                while(
                $datensatz=mysql_fetch_object($ergebnis))
                {

                //Datum
                //echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#aaaaaa'><font face='Arial' color='black' style='font-size:13px;'><b>Datum:</b> ". $datensatz->datumanzeigen ."</font></tr></td></table></center>\n";


                //Name
                echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#aaaaaa'><font face='Arial' color='black' style='font-size:13px;'><b>Name:</b> "$datensatz->name ."</font></tr></td></table></center>\n";

                //Ort
                echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#aaaaaa'><font face='Arial' color='black' style='font-size:13px;'><b>Ort:</b> "$datensatz->ort ."</font></tr></td></table></center>\n";

                //E-mail
                echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#aaaaaa'><font face='Arial' color='black' style='font-size:13px;'><b>E-mail:</b> <a href='mailto:"$datensatz->email ."' class='post'>"$datensatz->email ."</a> </font></tr></td></table></center>\n";

                //Website
                echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#aaaaaa'><font face='Arial' color='black' style='font-size:13px;'> <b>Homepage:</b> <a href='"$datensatz->url ."' class='post' target='_blank'>"$datensatz->url ."</a> </font></tr></td></table></center>\n";

                //Text
                echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#dedede'><font face='Arial' color='black' style='font-size:13px;'><b>Eintrag:</b><br> "$datensatz->text ."</font></tr></td></table></center>\n";

                echo 
                "<br><br>\n";

                }

                mysql_free_result($ergebnis);
                mysql_close($verbindung); 
                www.hsv-hockenheim.com
                www.carl-theodor-schule.de
                www.hockenheimring.de
                www.uni-heidelberg.de

                Kommentar


                • #9
                  Kannst Du mir BITTE auch noch einen Screenshot der Tabelle zeigen, sprich dass ich sehen kann, wie die Datensätze in der Tabelle liegen?

                  Kommentar


                  • #10
                    Hier die Screenshots

                    Hier die Tabelle in Mysql...du siehst, dass da auch das Sonderzeichen "ß" korrekt eingetragen ist:


                    Und so sieht das dann auf der Website aus...Aus "ß" ist "á" geworden:




                    Vielen Dank für deine Mühe!!!!!!
                    www.hsv-hockenheim.com
                    www.carl-theodor-schule.de
                    www.hockenheimring.de
                    www.uni-heidelberg.de

                    Kommentar


                    • #11
                      Schaut nach dem guten alten DOS-Windows-Problem aus. Vielleicht liegt es wirklich daran. Ich würde Dir empfehlen, SQL-Geschichten unter Windows zu verwalten (z.B. mit phpmyadmin). Ist nur ein Tipp und Du musst ihn nicht verfolgen.

                      Kommentar


                      • #12
                        hast du mal gekuckt, was im html-quelltext drin steht, denn du per php ausgibst?

                        eventuell liegt es nur daran, dass du den verwendeten zeichensatz gar nicht oder falsch angegeben hast.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Was für einen Zeichensatz angeben

                          Wie gebe ich den Zeichenatz an???
                          Habe so was nicht angegeben
                          www.hsv-hockenheim.com
                          www.carl-theodor-schule.de
                          www.hockenheimring.de
                          www.uni-heidelberg.de

                          Kommentar


                          • #14
                            http://www.mysql.de/doc/de/Localisation.html

                            Kommentar


                            • #15
                              und ist deine kodierung im browser korrekt??? im ie unter ->ansicht->codierung
                              ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                              und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                              Kommentar

                              Lädt...
                              X