KNOWLEDGE BASE

Fehler "[MySQL][ODBC 5.3(w) Driver]Unknown character set: 'utf8mb4'" beim Herstellen der Verbindung mit MySQL


Veröffentlicht: 30 Oct 2019
Zuletzt geändert am: 06 Mar 2023

Problem

Wenn über Tableau Desktop oder Tableau Server oder über einen DNS-Test eine Verbindung mit MySQL hergestellt wird, gibt der MySQL-Unicode-Treiber den folgenden Fehler zurück:

"[MySQL][ODBC 5.3(w) Driver]Unknown character set: 'utf8mb4'". ([MySQL][ODBC 5.3(m) Treiber]Unbekannter Zeichensatz: 'utf8mb4')


Zusätzliche Informationen zu diesem Szenario:

  • Dieser Fehler tritt nur auf, wenn eine Verbindung mit dem MySQL-Server vor der Version 5.5.3 hergestellt wird.
  • Dieser Fehler tritt nur bei Version 5.3.11 oder höher der MySQL-ODBC-Treiber auf.

Umgebung

  • Tableau Desktop
  • Tableau Server
  • MySQL

Lösung

Verwenden Sie eine der folgenden Lösungen zum Vermeiden dieses Fehlers:
Option 1
Nehmen Sie ein Downgrade auf eine frühere MySQL-Treiberversion (vor 5.3.11) vor.
Option 2
Nehmen Sie ein Upgrade Ihres MySQL-Servers auf Version 5.5.3 oder höher vor, worin der UTF8MB4-Zeichensatz unterstützt wird.
Option 3
Verwenden Sie den generischen ODBC-Konnektor von Tableau, und verwenden Sie zum Herstellen von Verbindungen anstelle des Unicode-Standardtreibers (beachten Sie, dass Verbindungen mit dem generischen ODBC-Konnektor nicht unterstützt werden und zu einer eingeschränkten Funktion führen können) den ANSI-Treiber für MySQL.

Ursache

Ab Version 5.3.11 wurde vom MySQL-ODBC-Treiber der UTF8MB4-Zeichensatz anstelle von UTF-8 verwendet. Die Unterstützung für den UTF8MB4-Zeichensatz wurde dem MySQL-Server aber erst in Version 5.5.3 hinzugefügt. Wenn Sie eine Verbindung zu einer älteren Serverversion herstellen, führt dies demnach zum obigen Fehler.

Zusätzliche Informationen

Weitere Informationen zu dieser Änderung finden Sie in der folgenden MySQL-Dokumentation:
  • MySQL Connector/ODBC 5.3.11 release notes (Versionshinweise zum MySQL-Connector/ODBC 5.3.11):
    • "The Unicode version now uses the UTF8MB4 character set as a transport character set between the MySQL server and the ODBC driver." (Von der Unicode-Version wird nun der UTF8MB4-Zeichensatz als Transportzeichensatz zwischen dem MySQL-Server und dem ODBC-Treiber verwendet.)
  • Versionshinweise zu MySQL-Server 5.5.3:
    • "The utf8mb4 character set has been added. This is similar to utf8, but its encoding allows up to four bytes per character to enable support for supplementary characters." (Der UTF8MB4-Zeichensatz wurde hinzugefügt. Dieser ähnelt UTF-8, seine Codierung lässt jedoch vier Bytes pro Zeichen zu und ermöglicht somit die Unterstützung zusätzlicher Zeichen.)
Hat dieser Artikel das Problem gelöst?