Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. [gelöst]SQL Adapter nutzt bei MySQL falsche Kollation (Zeichenkodierung)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    309

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

[gelöst]SQL Adapter nutzt bei MySQL falsche Kollation (Zeichenkodierung)

Geplant Angeheftet Gesperrt Verschoben Error/Bug
10 Beiträge 3 Kommentatoren 1.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    Fitti
    schrieb am zuletzt editiert von
    #1

    Bei mir hat der Adapter die Tabellen auf meinem MySQL alle richtig angelegt. Jedoch nutzt er hier einen falschen Zeichensatz => Schwedisch:
    578_2016-07-21_20_53_03-192.168.1.201___127.0.0.1___iobroker___phpmyadmin_3.3.5.png

    Vielelicht wird der Create Table Befehl nicht richtig aufgerufen?

    Frage: Was sollte denn hier rein? UTF-8 wäre ja gut. Mache mir Gedanken um die Umlaute. Habe es neu angelegt und daher noch keine Messwerte.

    https://wiki.selfhtml.org/wiki/Zeichenkodierung/MySQL

    "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
    Plural von Status ist auch Status!

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      Wie du siehst hier:

      https://github.com/ioBroker/ioBroker.sq … ysql.js#L1

      Es wird kein speziellen Zeichensatz definiert, d.h. es wird default genommen und bei dir hast du default als schwedisch. ;)

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        Fitti
        schrieb am zuletzt editiert von
        #3

        Nope. Habe utf-8 default

        Man soll meines wissens nach nur noch tabellen mit zeichensatzdefinition anlegen.

        "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
        Plural von Status ist auch Status!

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #4

          @Fitti:

          Nope. Habe utf-8 default

          Man soll meines wissens nach nur noch tabellen mit zeichensatzdefinition anlegen. `
          Weisst du wie es geht?

          1 Antwort Letzte Antwort
          0
          • nieIPN Offline
            nieIPN Offline
            nieIP
            schrieb am zuletzt editiert von
            #5

            Hallo

            es kann kein generelles Problem sein, denn bei mir hat der Adapter UTF8 angelegt.

            Eine Maria DB (MySQL kompatibel) auf einer Syno Nas

            1282_screenshot_2016-07-22_00.44.55.png

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              Fitti
              schrieb am zuletzt editiert von
              #6

              @Bluefox:

              @Fitti:

              Nope. Habe utf-8 default

              Man soll meines wissens nach nur noch tabellen mit zeichensatzdefinition anlegen. Weisst du wie es geht?
              CREATE TABLE table_name (

              id INT(11) NOT NULL,

              column_name VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,)

              @nieIP:

              Hallo

              es kann kein generelles Problem sein,… `
              Oder einfach nur glück gehabt. Oder die db hält sich nicht an vorgaben. Laut doku soll man es wohl machen. Ist es nicht da gibt es halt einen undefinierten Zustand. Irgendwas muss das system ja dann verwenden. Das ist dann halt irgendetwas. Kann gut gehen muss aber nicht

              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
              Plural von Status ist auch Status!

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                Ich habe provisorisch so gelöst:

                https://github.com/ioBroker/ioBroker.sq … ysql.js#L3

                Um aber bestehende DB zu konvertieren muss man folgendes aufrufen:

                ALTER DATABASE iobroker CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                USE iobroker;
                ALTER TABLE sources CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                ALTER TABLE datapoints CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                ALTER TABLE ts_string CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                
                
                1 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  Fitti
                  schrieb am zuletzt editiert von
                  #8

                  Danke. Das sieht gut aus.
                  @Bluefox:

                  Um aber bestehende DB zu konvertieren muss man folgendes aufrufen:

                  ALTER DATABASE iobroker CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  USE iobroker;
                  ALTER TABLE sources CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE datapoints CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE ts_string CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  
                  ```` `  
                  

                  Ich habe es noch für die Tabelle ts_bool und ts_number der Form halber angepasst:

                  Der SQL Batch ist also:

                  ALTER DATABASE iobroker CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  USE iobroker;
                  ALTER TABLE sources CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE datapoints CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE ts_string CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE ts_bool CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  ALTER TABLE ts_number CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
                  
                  

                  "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                  Plural von Status ist auch Status!

                  1 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #9

                    > Ich habe es noch für die Tabelle ts_bool und ts_number der Form halber angepasst:
                    Da gibt es keine Texte. Deswegen es ist egal was für ein Codepage die haben.

                    1 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      Fitti
                      schrieb am zuletzt editiert von
                      #10

                      Hatte mich einfach gestört. 8-)

                      "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                      Plural von Status ist auch Status!

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      417

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe