Wenn für MySQL 5.5 der Zeichensatz nicht festgelegt ist, ist der Standardzeichensatz von MySQL der lateinische Zeichensatz latin1. Mit der Weiterentwicklung verschiedener Unternehmen tauchen jedoch neben den Zeichen der Landessprachen verschiedener Länder häufig einige Emoticons in Anwendungen auf. Vor MySQL 5.5 unterstützte die UTF-8-Kodierung nur 1-3 Bytes und den Unicode-Kodierungsbereich des BMP-Teils. Ab MySQL 5.5 kann die 4-Byte-UTF-Kodierung utf8mb4 unterstützt werden. Ein Zeichen kann mehr Zeichensätze und mehr Emoticons unterstützen. utf8mb4 ist mit utf8 kompatibel und kann mehr Zeichen darstellen als utf8. Es ist eine Obermenge des utf8-Zeichensatzes. Daher setzen einige neue Unternehmen, wie z. B. ISO, den Zeichensatz der MySQL-Datenbank auf utf8mb4. Als ich heute eine Bewerbungsanforderung bearbeitete, stieß ich auf folgendes Problem: Die beste Möglichkeit zur Anpassung besteht natürlich darin, den Zeichensatz der MySQL-Datenbank auf der Clientseite auf utf8mb4 zu ändern. Dies führt jedoch zu zahlreichen Änderungen. Wenn ein Teil des Clients auf utf8 und ein Teil auf utf8mb4 geändert wird, kann es leicht zu Verwirrung kommen. Nach mehreren Tests wurde die Zeichensatzkonfiguration in my.cnf der MySQL-Datenbank auf folgende Konfiguration geändert: [Kunde] Standardzeichensatz = utf8mb4 [mysqld] Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci init_connect = "Namen festlegen utf8mb4" Zeichensatz-Client-Handshake überspringen = wahr [mysql] Standardzeichensatz = utf8mb4 Empfehlungen zur Verwendung von MySQL-Zeichensätzen • Versuchen Sie beim Erstellen einer Datenbank/Tabelle und beim Durchführen von Datenbankoperationen, den zu verwendenden Zeichensatz explizit anzugeben, anstatt sich auf die MySQL-Standardeinstellungen zu verlassen. Andernfalls kann es beim Upgrade von MySQL zu großen Problemen kommen. • Obwohl die Zeichenverzerrungen in den meisten Fällen behoben werden können, wenn sowohl die Datenbank als auch der Verbindungszeichensatz Latin1 verwenden, besteht der Nachteil darin, dass SQL-Operationen nicht in Zeicheneinheiten ausgeführt werden können. Im Allgemeinen ist es besser, sowohl den Datenbank- als auch den Verbindungszeichensatz auf UTF8 einzustellen. • Wenn Sie die mysql C API verwenden, setzen Sie das Attribut MYSQL_SET_CHARSET_NAME mit mysql_options sofort nach dem Initialisieren des Datenbank-Handles auf utf8. Auf diese Weise müssen Sie den Verbindungszeichensatz nicht explizit mit der SET NAMES-Anweisung angeben, und wenn Sie mysql_ping verwenden, um eine lange unterbrochene Verbindung wiederherzustellen, wird der Verbindungszeichensatz ebenfalls auf utf8 zurückgesetzt. • Bei MySQL PHP API ist die Gesamtlaufzeit von PHP-Programmen auf Seitenebene im Allgemeinen kurz. Nach dem Herstellen einer Verbindung mit der Datenbank können Sie den Verbindungszeichensatz einmal explizit mit der Anweisung SET NAMES festlegen. Achten Sie bei langen Verbindungen jedoch darauf, die Verbindung offen zu halten, und verwenden Sie die Anweisung SET NAMES, um den Verbindungszeichensatz nach dem Trennen und erneuten Herstellen explizit zurückzusetzen. Umfassendes Verständnis des Unterschieds zwischen utf8 und utf8mb4 in MySQL: https://www.jb51.net/article/90037.htm Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der praktischen Anwendung der Centos7 ESXi6.7-Vorlage
>>: Das WeChat-Applet implementiert eine einfache Taschenrechnerfunktion
Mittlerweile basieren die meisten Docker-Images a...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
Ich verwende Navicat als Datenbanktool. Andere si...
Inhaltsverzeichnis Überblick Globale Hook-Funktio...
1. Einführung in Compose Compose ist ein Tool zum...
In diesem Artikel wird der spezifische Code für J...
ngx_lua_module ist ein Nginx-HTTP-Modul, das den ...
Docker Compose Docker Compose ist ein Tool zum De...
Kurzeigenschaften werden verwendet, um mehreren E...
So funktioniert PHP Lassen Sie uns zunächst die B...
1. Wenn der Benutzer über die Berechtigung zum Er...
Unterschiede und Verwendungen von Datumstypen MyS...
Der größte Teil dieses Artikels bezieht sich auf ...
CSS steuert den Druckstil von Webseiten : Verwende...
Inhaltsverzeichnis Einführung Schritt 1 Schritt 2...