Sonderzeichen kippen um

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

  • Sonderzeichen kippen um

    Hallo,

    wenn ich etwas in die Datenbank schreibe über einen einfachen INSERT Befehl passiert folgendes:

    Ich tippe ein ♥
    und in der Datenbank steht nur ein ?

    An was liegt das?

    lg
    hendrik

  • #2
    An falsch gewählter Zeichenkodierung, oder falschem Umgang damit.

    Das ist ein wirklich oft diskutiertes Thema - bitte versuche erst mal, dich selber ein bisschen darüber zu informieren.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ich habe folgende Kodierungen:

      Script UTF8
      SQL UTF8

      An was kann das sonnst noch liegen?

      Kommentar


      • #4
        An der falschen Codierung in der DB Verbindung.
        Die steht noch auf iso-irgendwas.

        Außerdem:
        Script UTF8 <<-- gibts nicht! besser utf-8
        SQL UTF8 <<-- richtig! noch besser utf8
        Und nein, das ist keine übertriebene Pingeligkeit
        Zuletzt geändert von combie; 06.11.2010, 13:06.
        Wir werden alle sterben

        Kommentar


        • #5
          Zitat von combie Beitrag anzeigen
          An der falschen Codierung in der DB Verbindung.
          Die steht noch auf iso-irgendwas.

          Außerdem:
          Script UTF8 <<-- gibts nicht! besser utf-8
          SQL UTF8 <<-- richtig! noch besser utf8
          Und nein, das ist keine übertriebene Pingeligkeit

          Das gleiche habe ich doch oben gepostet. Und nein die DB Verbindung ist UTF-8 als Zeichensatz

          Kommentar


          • #6
            Das gleiche habe ich doch oben gepostet.
            Nein!
            Meinst du, ich habe die Anmerkungen da nur aus Spaß hin gemacht?

            Und nein die DB Verbindung ist UTF-8 als Zeichensatz
            Den gibts da aber gar nicht!!
            Bestenfalls utf8
            Wir werden alle sterben

            Kommentar


            • #7
              Ist utf-8 und utf8 nicht das gleiche??!?

              Kommentar


              • #8
                Zitat von Hendrik33 Beitrag anzeigen
                Ist utf-8 und utf8 nicht das gleiche??!?
                Nein, ist es nicht!
                Es ist das Selbe, aber nicht das Gleiche!


                Beachte:
                1. In den PHP, HTML und HTTP Spezifikationen ist immer nur von utf-8 die Rede. Und die betreffende Software erwartet auch utf-8! Alle anderen Schreibweisen werden ignoriert, oder als Fehler erkannt. Ob groß oder klein geschrieben, ist meist egal (aber nicht unbedingt immer).

                2. In der MySQL Doku ist nur von utf8 die Rede. Die Angabe von utf-8 wird nicht von diesem DBMS akzeptiert.
                Wir werden alle sterben

                Kommentar


                • #9
                  da hast du noch einen vergessen

                  Script utf-8 ... -> ist das Script selbst als utf-8 Datei ohne BOM gespeichert ?

                  Welche Codierung sendest du zum Browser (per Meta-Header)?
                  [font=Verdana]
                  Wer LESEN kann, ist klar im Vorteil!
                  [/font]

                  Kommentar


                  • #10
                    Ist alles auf utf8 die datei kodierung selbst und der header auch

                    Code:
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

                    Kommentar


                    • #11
                      womit prüfst du denn , dass in der Datenbank statt deines "Herzchen" ein ? auftaucht? phpmyadmin ? der hat auch ne Sprachkonfig - evtl sendet der noch auf ISO....

                      lies es mit deinem PHP script aus und schau dir an, was dann in Formularfelder oder so eingetragen wird
                      [font=Verdana]
                      Wer LESEN kann, ist klar im Vorteil!
                      [/font]

                      Kommentar


                      • #12
                        In phpmyadmin steht ein ?
                        wenn ich es auslese per sql und auf meiner seite ausgebe ist es auch ein ?

                        Kommentar


                        • #13
                          dann machst du irgendwas anders ..

                          ich hab eben bei mir mal getestet ..

                          eingegeben: ♥
                          , gespeichert - wieder ausgelesen -
                          Ausgabe in meinem Formular: ♥
                          - ich kann das Herzchen sogar als Suchparameter in meinem Suchformular benutzen und er findet den Datensatz, wo ich es testweise gespeichert habe

                          kontrollier bitte nochmal, ob wirklich alles auf utf8 steht

                          Script-Codierung (bei mir ANSI as UTF-8 ohne BOM)

                          Webseite (welche Codierung im Browser ? Unicode (UTF-8)) - bei mir "wollte" der erst nicht mit einfachem html-meta header .. habe es dann als PHP-header gesendet und ab da lief es rund

                          Datenbank - Collation (utf8_general_ci / utf8_bin / utf8_german_ci)

                          Verbindung zur Datenbank (mysql_query("SET CHARACTER SET 'utf8'", $connection);

                          Eintragung von Strings mit mysql_real_escape_string , auslesen bzw anzeigen im Formular mit htmlspecialchars( )

                          ??
                          Zuletzt geändert von eagle275; 08.11.2010, 08:26.
                          [font=Verdana]
                          Wer LESEN kann, ist klar im Vorteil!
                          [/font]

                          Kommentar


                          • #14
                            Datenbank - Collation (utf8_general_ci / utf8_bin / utf8_german_ci)
                            Die Collation ist für dieses Problem irrelevant, betrifft nur Suchen und Sortieren,
                            Aber der Spalten, Tabellen, Datenbank, Server CHARSET ist relevant

                            Siehe dazu: MySQL :: MySQL 5.1 Referenzhandbuch :: 10 Zeichensatz-Unterstützung
                            Wir werden alle sterben

                            Kommentar


                            • #15
                              Danke für Eure Hilfe und Geduld!
                              Es funktioniert jetzt!

                              Problem war der Charset in phpMyAdmin
                              er war auf latin1_swedish_ci

                              Habe das jetzt überall auf utf_general_ci gestellt

                              lg hendrik

                              Kommentar

                              Lädt...
                              X