Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Sonderzeichen

Einklappen

Neue Werbung 2019

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

  • Probleme mit Sonderzeichen

    Hi,

    ich habe so ein kleines Problem mit Sonderzeichen.
    Immer wenn ich Daten in der DB speichere, dann werden das mehr so Hyroglyphen als alles andere.
    Deswegen habe ich folgene Funktion geschrieben:

    PHP-Code:
    <?php
     
    function sonderzeichen ($sonderzeichen){
     
    $sonderzeichen str_replace('ö''&ouml;'$sonderzeichen);
     
    $sonderzeichen str_replace('ä''&auml;'$sonderzeichen);
     
    $sonderzeichen str_replace('ü''&uuml;'$sonderzeichen);
     
    $sonderzeichen str_replace('Ö''&Ouml;'$sonderzeichen);
     
    $sonderzeichen str_replace('Ä''&Auml;'$sonderzeichen);
     
    $sonderzeichen str_replace('Ü''&Uuml;'$sonderzeichen);
     
    $sonderzeichen str_replace('ß''&szlig;'$sonderzeichen);
     
    $sonderzeichen str_replace('%''%'$sonderzeichen);
     
    $sonderzeichen str_replace('$''$'$sonderzeichen);
     
    $sonderzeichen str_replace('@''@'$sonderzeichen);
    return 
    $sonderzeichen;
     }
    ?>
    So und dann rufe ich sie so auf:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    include(
    '../config.inc.php');
    include(
    '../includes/special_character.php');

    $event_title sonderzeichen(addslashes(htmlspecialchars($_POST['event_title'])));
    $event_date sonderzeichen(addslashes(htmlspecialchars($_POST['event_date'])));
    $event_time sonderzeichen(addslashes(htmlspecialchars($_POST['event_time'])));
    $event_place sonderzeichen(addslashes(htmlspecialchars($_POST['event_place'])));
    $event_website sonderzeichen(addslashes(htmlspecialchars($_POST['event_website'])));
    $event_desc sonderzeichen(addslashes(htmlspecialchars($_POST['event_description'])));

    if(isset(
    $_GET['changeid']))
    {
    $a_query mysql_query("UPDATE events set event = '".$event_title."', date = '".$event_date."', time = '".$event_time."', place = '".$event_place."', website = '".$event_website."', description = '".$event_desc."' WHERE id = '".$_GET['changeid']."'") OR die(mysql_error());
    }
    else
    {
    $a_query mysql_query("INSERT INTO events(event, description, place, date, time, website) VALUES('".$event_title."', '".$event_desc."', '".$event_place."', '".$event_date."', '".$event_time."', '".$event_website."')") OR die(mysql_error());
    }

    header('Location: index.php?action=events&save=yes');
    ?>
    Jetzt nur mal als Beispiel.
    Trotzdem stehen in der DB immer noch diese Hyroglyphen.
    Aber warum?

    Achja habe ein Linuxsystem auf meinem Rechner und die DB hat MySQL-Zeichensatz: UTF-8 Unicode (utf

    Könnt ihr mir helfen?

    Danke

  • #2
    mal probiert, wies aussieht, wenn dus mit select wieder ausliest??

    Kommentar


    • #3
      Zitat von nikosch77
      mal probiert, wies aussieht, wenn dus mit select wieder ausliest??
      HÄÄÄ??

      Kommentar


      • #4
        probier doch mal wenn du das mit
        PHP-Code:
        $sonderzeichen str_replace('ö''&ouml;'$sonderzeichen); 
        $sonderzeichen str_replace('ä''&auml;'$sonderzeichen); 
        $sonderzeichen str_replace('ü''&uuml;'$sonderzeichen); 
        $sonderzeichen str_replace('Ö''&Ouml;'$sonderzeichen); 
        $sonderzeichen str_replace('Ä''&Auml;'$sonderzeichen); 
        $sonderzeichen str_replace('Ü''&Uuml;'$sonderzeichen); 
        $sonderzeichen str_replace('ß''&szlig;'$sonderzeichen); 
        $sonderzeichen str_replace('%''%'$sonderzeichen); 
        $sonderzeichen str_replace('$''$'$sonderzeichen); 
        $sonderzeichen str_replace('@''@'$sonderzeichen); 
        ind die datenbank hinzufügst

        er meinte: wie es aussieht wenn du die umlaute nicht ersetzt...

        Kommentar


        • #5
          eigentlich meinte ich: wo siehst du, wie die daten in die db eingetragen werden? wenn du die daten mit select ausliest, in phpMyAdmin, per sql software oder wie? vielleicht ist ja beim auslesen mit php alles ok?

          Kommentar


          • #6
            Zitat von nikosch77
            eigentlich meinte ich: wo siehst du, wie die daten in die db eingetragen werden? wenn du die daten mit select ausliest, in phpMyAdmin, per sql software oder wie? vielleicht ist ja beim auslesen mit php alles ok?
            Ich habe in die DB geschaut.
            Dort sind dann hyroglyphen drinne.
            Das heißt das passiert wohl beim speichern.

            Kommentar


            • #7
              Kann mir keine von euch helfen?

              Schade

              Kommentar


              • #8
                Und womit hast du in die Datenbank geschaut?

                Kommentar


                • #9
                  PHPMYADMIN

                  Kommentar


                  • #10
                    Ich habe germerkt, dass es an der Funktion liegen muss. Ich habe den text vor dem speichern in der DB ausgeben lassen und ihn vorher durch die Funktion laufen lassen. Und ich Quelltext werden ä angezeigt statt &a uml;

                    Kommentar


                    • #11
                      Langsam weiß ich echt nicht mehr weiter

                      Kommentar


                      • #12
                        Wie sehen die Sonderzeichen aus, wenn du die Daten mit einem eigenen Script aus der Datenbank holst und dir anzeigen lässt? Gibt es dann das gleiche Problem wie bei phpMyAdmin?
                        Sendest du auch UTF-8 im Content-Type-Header als Zeichensatzangabe?

                        Kommentar


                        • #13
                          Nein.
                          Aber mit einer Abfrage von http://web-sniffer.net/ hat ergeben das sie so aber gesendet wird, obwohl im Header iso-8859-1 drinne steht.
                          Ich verstehe das nicht.

                          Kommentar


                          • #14
                            Zitat von Kein Genie
                            Nein.
                            Auf welche meiner Fragen beziehst du dich mit der Antwort?

                            Zitat von Kein Genie
                            Aber mit einer Abfrage von http://web-sniffer.net/ hat ergeben das sie so aber gesendet wird, obwohl im Header iso-8859-1 drinne steht.
                            Was wird wie wo gesendet?

                            Kommentar


                            • #15
                              UTF-8

                              Wird asl charset gesendet.
                              Obwohl das andere also ISO angeben ist.

                              Kommentar

                              Lädt...
                              X