Troll.Soft: mysql charset

Wie lese ich in MySql den Charset einer Tabelle aus?
Mit "select character_set_name from information_schema.columns where table_name = 'char_type' and table_schema = 'test_to'" erhalte die charsets für jede Spalte, brauche aber den default-charset von der ganzen Tabelle.
tschüß
Troll.Soft

  1. Wie lese ich in MySql den Charset einer Tabelle aus?

    'select table_collation from information_schema.tables where table_name="bla"' hilft dir vielleicht weiter. Siehe http://dev.mysql.com/doc/refman/5.5/en/tables-table.html.

    1. Wie lese ich in MySql den Charset einer Tabelle aus?

      'select table_collation from information_schema.tables where table_name="bla"' hilft dir vielleicht weiter. Siehe http://dev.mysql.com/doc/refman/5.5/en/tables-table.html.

      Ja danke, ist brauchbar, wenn auch etwas eingenartig. Was soll das "_swedish_ci" hinter dem charset?  Gibt es darüber Info's. Habe nichts gefunden.
      tschüß
      Troll.Soft

      1. Hi!

        Was soll das "_swedish_ci" hinter dem charset? Gibt es darüber Info's. Habe nichts gefunden.

        Das glaube ich dir nicht. Es gibt mehr als genug Erläuterungen dazu. Im MySQL-Handbuch befasst sich das Kapitel Internationalization and Localization unter anderem damit.

        Kurz gesagt: Das ist die Collation-Angabe (deutsch auch Kollation genannt) und gibt an, welche Sortierregeln zur Anwendung kommen sollen. In dem Fall also Schwedisch, was MySQLs Default-Wert ist. Und das ci steht für case insensitive, was bis auf wenige Ausnahmen bei einer sprachspezifische Kollation immer da steht.

        Wozu brauchst du eigentlich den Default-Wert für die Tabelle? Die Feldkodierung/-kollation ist entscheidend. Siehe auch SELFHTML-Wiki: Themen:Zeichencodierung/MySQL

        Lo!

        1. Sorry,
          Du hast natürlich recht. Meine Bemerkung war auch eher verärgert ironisch gemeint. Ich erhalte mühelos alle möglichen Informationen, nur ausgerechnet den default charset einer Tabelle nicht.
          Ich brauche den default charset von Tabelle1 weil mein Script Tabelle2 erzeugt mit genau dem default charset von Tabelle1.
          tschüß
          Troll.Soft

          Hi!

          Was soll das "_swedish_ci" hinter dem charset? Gibt es darüber Info's. Habe nichts gefunden.

          Das glaube ich dir nicht. Es gibt mehr als genug Erläuterungen dazu. Im MySQL-Handbuch befasst sich das Kapitel Internationalization and Localization unter anderem damit.

          Kurz gesagt: Das ist die Collation-Angabe (deutsch auch Kollation genannt) und gibt an, welche Sortierregeln zur Anwendung kommen sollen. In dem Fall also Schwedisch, was MySQLs Default-Wert ist. Und das ci steht für case insensitive, was bis auf wenige Ausnahmen bei einer sprachspezifische Kollation immer da steht.

          Wozu brauchst du eigentlich den Default-Wert für die Tabelle? Die Feldkodierung/-kollation ist entscheidend. Siehe auch SELFHTML-Wiki: Themen:Zeichencodierung/MySQL

          Lo!

          1. Alles ok,
            habs gefunden :)
            in der Tabelle collations findet sich zu jeder Collation ein Charset.
            danke
            und tschüß
            Troll.Soft

            1. Hi!

              habs gefunden :)
              in der Tabelle collations findet sich zu jeder Collation ein Charset.

              Eine Kollation ist immer an ein Charset gebunden. Und das spiegelt sich auch in ihrem Namen wider, denn der Teil vor dem ersten _ ist der Name des zugehörigen Charsets. Etwas Stringverarbeitung ginge also auch. Notwendig ist das aber nicht, denn das Setzen von (DEFAULT) COLLATE auf einen der charset_collation_sensitivity-Werte setzt gleichzeitig auch das Charset, weil - wie gesagt - selbiges mit der Kollation untrennbar verbunden ist.

              Lo!