Problem mit MySQL Kodierung

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

  • Problem mit MySQL Kodierung

    Hallo!

    Mein Hoster setzt eine MySQL Datenbank mit der Version "4.1.22-log" ein. Ich bin nun dabei, in dieser Datenbank Meta-Tags für meine Seiten zu speichern. Das Problem ist jetzt die Kodierung, dass mir die Datenbank aus dem Komma ein ÿ macht.

    es wird also aus 'index,follow' 'indexÿfollow'.

    Das Feld ist ein enum Feld. Setze ich die Kodierung auf "utf8_general_ci" wie bei der Datenbank auf dem Heimrechner, so wird aus dem , ein ?.

    Wie krieg ich das nun hin, dass das , ein , bleibt?

    Danke schonma...
    Zuletzt geändert von PHPler; 26.11.2007, 11:15.

  • #2
    Benutze doch bitte statt dem Zeichen "," das Wort "Komma". Das macht das ganze sehr viel leserlicher.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Original geschrieben von unset
      Benutze doch bitte statt dem Zeichen "," das Wort "Komma". Das macht das ganze sehr viel leserlicher.
      Ist aber keine Lösung für ein Zeichensatzproblem!!

      Datenbank, Tabelle, Ausgabe und Datenbankverbindung UTF-8?

      Kommentar


      • #4
        character_set_client utf8
        character_set_connection utf8
        character_set_database latin1
        character_set_results utf8
        character_set_server latin1
        character_set_system utf8
        collation_connection utf8_unicode_ci
        collation_database latin1_swedish_ci
        collation_server latin1_swedish_ci

        Das sind die Einstellungen der MySQL Datenbank. Ist nicht alles auf UTF8, hab da aber auch keinen Zugriff drauf um das zu ändern. Kann nur wie gesagt bei den Feldern die Kodierung wechseln, und da läuft die trotz UTF8_general_ci nicht...

        Kommentar


        • #5
          Und die Ausgabe (HTTP- und Meta-Header)?

          Kommentar


          • #6
            Soweit ich das bei phpmyadmin sehen kann ist es auch auf UTF-8 eingestellt.

            Kommentar


            • #7
              Original geschrieben von PHPler
              Soweit ich das bei phpmyadmin sehen kann ist es auch auf UTF-8 eingestellt.
              Die Ausgabe deiner Seite ist aber nicht im PHPmyadmin!

              Mal ein Set Names als erste Query abgesetzt?

              Kommentar


              • #8
                Das fängt aber schon bei phpMyAdmin an! Wenn ich via phpMyAdmin ein Feld namens robots erstelle mit den Optionen:
                'index,follow','index,nofollow','noindex,follow','noindex,nofollow'
                Wird daraus eben ein
                'indexÿfollow','indexÿnofollow','noindexÿfollow','noindexÿnofollow'
                Füge ich nun einen Eintrag in das Feld mit meinem CMS ein, so bleibt dieses leer, da ein , eben kein ÿ ist.

                Mein CMS selbst ist mit "iso-8859-1" kodiert. Eine Kodierung mit UTF-8 ändert auch nichts an dem Problem, außer dass dann sämtliche Sonderzeichen als ? kodiert werden...

                Und was meinst Du mit ein Set Names?

                Kommentar


                • #9
                  Einfach mal die SuFu nutzen, beispielsweise hier.

                  Kommentar


                  • #10
                    Achso sorry, okay! Aber wie gesagt, das Problem geht ja von phpmyadmin aus (siehe Anhang). Andere Codierungen (auch UTF-8) bringen nichts. Ich werd das wohl durchnummerieren und ne Switch Abfrage reinhauen, wird mir sonst zu komisch...
                    Angehängte Dateien

                    Kommentar


                    • #11
                      Lös lieber das Problem, du hast genug Hinweise bekommen, statt einen Workaround zu bauen.
                      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                      Kommentar


                      • #12
                        Leichter gesagt als getan! Ich hab alles was hier angesprochen wurde durchprobiert, ohne Erfolg. phpMyAdmin ist bei meinem Hoster im übrigen vorinstalliert, d.h. ich hab selbst nichtmal da drauf zugriff. Naja mal gucken, fürs erste hab ich das Script erstmal dennoch umgebaut...

                        Kommentar


                        • #13
                          Wie hast du dein enum-Feld denn erzeugt? Wenn ich bei mir im MyAdmin ein enum mit Kommata in den Werten erstelle, ist dies - natürlich - korrekt.

                          Kommentar

                          Lädt...
                          X