Umlaute in MySQL

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

  • #16
    Original geschrieben von TobiaZ
    Poste doch mal den Link.
    http://iv.habbotv.org/iv2/index.php?page=7&watch=16
    Gemeint ist die Komentier Funktion. Ups.. für diese Seite braucht man einen Account
    Name: test
    PW: 123456
    Nach dem login kommt ihr leider erst mal auf die Startseite, müsst hat den Link dann nochmals eingeben

    Das mit dem Header hab ich probiert, jedoch kamen da statt öäü so komische vierecke. Hab darum den PHP Header wieder weggenommen.
    Zuletzt geändert von andygyr; 25.04.2009, 17:28.
    Bücher für Programmierer

    Kommentar


    • #17
      Error: Userdaten wurden nicht gefunden.


      BTW: sind die Umlaute korrekt, wenn du sie mit PHPmyAdmin ansiehst?
      Zuletzt geändert von TobiaZ; 25.04.2009, 17:27.

      Kommentar


      • #18
        Original geschrieben von TobiaZ


        BTW: sind die Umlaute korrekt, wenn du sie mit PHPmyAdmin ansiehst?
        Nein.

        Hab den Beitrag oben aktualisiert.
        Bücher für Programmierer

        Kommentar


        • #19
          Original geschrieben von andygyr
          Nein.
          Dann werden die Daten falsch eingetragen. Hast du beim Speichern auch die Datenbankverbindung auf den richtigen Charset gesetzt?

          Lass dir auch mal das Query ausgeben, mit dem du die Daten einträgst.

          Kommentar


          • #20
            Oh man!

            Dan kümmer dich vielleicht erst einmal darum, dass die Daten korrekt in die DB kommen, bevor du versuchst korrupte Daten aus der DB vernünftig anzuzeigen.

            Kommentar


            • #21
              Also, wenn ich die Seite aufrufe scheints zu funktionieren.

              Im Übrigen redet hell vom Eintragen (INSERT) und nicht vom SELECT-Statment!

              Kommentar


              • #22
                Bei mir funktionierts ja auch.
                Hier mal das Query:
                Code:
                INSERT INTO miv4_2_content_comment_cx ( `cat`, `title`, `text`, `create_date`, `create_by`) VALUES ( '3', 'x', '���', '1240677629', '24');
                Eingabe: öäü

                Verarbeitung:
                PHP-Code:
                $query2 = array(
                        
                'cat' => $catx[0]['id'],
                        
                'title' => 'x',
                        
                'text' => $text
                    
                );
                    
                $db->insert($prefix.'content_comment_cx'$query2);

                ----------------------------------

                function 
                insert$table$values$type "INSERT" ) {
                    global 
                $userdata;
                    if( !empty( 
                $userdata['id'] )) $values['create_by'] = $userdata['id'];
                    
                $values['create_date'] = time();
                    
                    
                $fields = array(); $vals = array();
                    foreach( 
                $this->flist$table ) as $f )
                      if( isset( 
                $values[$f[0]] )) {
                        
                $fields[] = "`$f[0]`";
                        
                $vals[] = (empty( $values[$f[0]] ) && $f[2] == 'YES') ? "NULL" "'".$values[$f[0]]."'";
                      }

                    
                $this->query"$type INTO $table ( ".implode", "$fields ).")
                                   VALUES ( "
                .implode", "$vals ).");" );
                    echo 
                "$type INTO $table ( ".implode", "$fields ).")
                                   VALUES ( "
                .implode", "$vals ).");";
                  } 
                Bücher für Programmierer

                Kommentar


                • #23
                  Du sendet das Form ja gar nicht per Post an eine Eintrag-Datei ab... Da solltest du also auch noch mal die Übertragungswege checken. Keine Lust mich da jetzt durch dein JS durchzuwurschteln...

                  Kommentar


                  • #24
                    Nun ja.. das mit dem Ajax ist schon bisschen ein Bastel.
                    Die eingabe wird mit einer JS Funktion verarbeitet, welche den text per GET Parameter weiterleitet, und diese PHP datei macht schlussendlich den eintrag.

                    könnte es evtl. an der GET übertragung liegen?
                    Bücher für Programmierer

                    Kommentar


                    • #25
                      Prüf es!!

                      Kommentar


                      • #26
                        Ja, es hat an der GET übergabe gelegen. Das Problem konnte ich beheben, indem ich den Text erst mit escape() (in JS) behandelt habe und dann als GET in die PHP datei geschickt habe.
                        Bei der ausgabe hab ich dann htmlentities(urldecode($text)) verwendet.

                        Vielen Dank, an alle welche mir geholfen haben
                        Bücher für Programmierer

                        Kommentar


                        • #27
                          Wofür brauchst du urldecode bei der Ausgabe?
                          Das solltest du eigentlich nichtmal beim Insert in die DB benötigen. (Unter normalen Voraussetzungen)

                          Kommentar


                          • #28
                            Original geschrieben von andygyr
                            Ja, es hat an der GET übergabe gelegen. Das Problem konnte ich beheben, indem ich den Text erst mit escape() (in JS) behandelt habe und dann als GET in die PHP datei geschickt habe.
                            Bei der ausgabe hab ich dann htmlentities(urldecode($text)) verwendet.
                            Wofür soll htmlentities() gut sein? Wenn der Zeichensatz stimmt, ist das unnötig.

                            Kommentar


                            • #29
                              wird hoffentlich nur äquivalent zu specialchars verwendet...

                              Kommentar


                              • #30
                                Nun, encode() ersetzt ja öäü's mit irgendwie %FD oder so. Diese werden dann so in die Datenbank gespeichert. Damit diese &FD's nicht als Text angezeigt werden, und als alternative zu unencode() hab ich urldecode() verwendet. Wenn ich es aber dabei lasse, werden Vierecke angezeigt, da die öüä's direkt so ins HTML eingetragen werden. Mit htmlentities() werden diese als &Uu.ml; (ohne .) eingetragen.
                                Bücher für Programmierer

                                Kommentar

                                Lädt...
                                X