Referenz: MySQL-Zeichensatzübersicht utf8mb4 wurde zum Standardzeichensatz in MySQL 8.0, wobei utf8mb4_0900_ai_ci die Standardsortierung in MySQL 8.0.1 und höher ist. Für neue Projekte wird nur utf8mb4 berücksichtigt Die UTF-8-Kodierung ist ein Kodierungsmechanismus mit variabler Länge, der Zeichen mit 1 bis 4 Bytes speichern kann. Aufgrund historischer Probleme ist die UTF-8-Kodierung in MySQL kein echtes UTF-8, sondern eine verkürzte Version mit einer maximalen Länge von nur 3 Bytes. Bei der Verwendung einer UTF-8-Kodierung, die 4 Bytes belegt, wie etwa Emoji-Zeichen oder komplexe chinesische Schriftzeichen, treten Speicherausnahmen auf. Ab 5.5.3 verwendet MySQL die utf8mb4-Kodierung, um vollständiges UTF-8 zu implementieren, wobei mb4 „most bytes 4“ bedeutet, was maximal 4 Bytes belegt. Ab 8.0 wird in einer bestimmten Version utf8mb4 als Standardzeichenkodierung verwendet. Stellen Sie den Standardzeichensatz des Servers auf utf8mb4 ein. Wenn beim Erstellen einer Datenbank kein Zeichensatz angegeben wird, wird der Standardzeichensatz des Servers verwendet. Den Komfort können Sie steigern, indem Sie den Standardzeichensatz des Servers auf utf8mb4 einstellen. Bearbeiten der MySQL-Konfigurationsdatei Sie müssen sich nur um 5 Systemvariablen kümmern. Wenn Sie alle auf utf8mb4 ändern, ist die Änderung erfolgreich:
Nach dem Hinzufügen von default-character-set=utf8 unter [mysqld] kann der Server aus unbekannten Gründen nicht gestartet werden. Später habe ich es folgendermaßen geändert (MySQL 5.7): [mysqld] init_connect = 'SET-Sortierung_Verbindung = utf8mb4_unicode_ci' init_connect = "Namen festlegen utf8mb4" Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci Zeichensatz-Client-Handshake überspringen ... [Kunde] Standardzeichensatz = utf8mb4 Die Standardeinstellung für MySQL 8.0 ist utf8mb4 und muss daher nicht geändert werden. Wenn Sie es ändern möchten, sieht die Konfigurationsdatei wie folgt aus: [mysqld] Datenverzeichnis=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-Datei=/var/run/mysqld/mysqld.pid Zeichensatzserver = utf8mb4 [Kunde] Standardzeichensatz = utf8mb4 Neustart und bestätigen Sie können sehen, dass die Systemkodierung, Verbindungskodierung, Serverkodierung und Clientkodierung alle auf UTF-8 eingestellt sind: mysql> Variablen wie "%char%" anzeigen; +--------------------------------------+--------------------------------+ | Variablenname | Wert | +--------------------------------------+--------------------------------+ | Zeichensatzclient | utf8mb4 | | Zeichensatzverbindung | utf8mb4 | | Zeichensatzdatenbank | utf8mb4 | | Zeichensatz_Dateisystem | Binär | | Zeichensatzergebnisse | utf8mb4 | | Zeichensatzserver | utf8mb4 | | Zeichensatzsystem | utf8 | | Zeichensatzverzeichnis | /usr/share/mysql-8.0/charsets/ | | Passwort validieren.Anzahl der Sonderzeichen | 1 | +--------------------------------------+--------------------------------+ 9 Zeilen im Satz (0,00 Sek.) Zeichensatzbezogene Variablen in MySQL character_set_client: Der Zeichensatz der Client-Anforderungsdaten Geben Sie beim Erstellen einer Datenbank den Zeichensatz als utf8mb4 an Wenn der Standardzeichensatz der Datenbank nicht utf8mb4 ist, können Sie den Zeichensatz beim Erstellen der Datenbank angeben: DATENBANK ERSTELLEN mydb ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_unicode_ci; Kollation Neben der Speicherung müssen Zeichen auch sortiert oder verglichen werden. Es wird empfohlen, utf8mb4_unicode_ci zu verwenden, aber die Verwendung von utf8mb4_general_ci ist kein Problem. Der Standardwert von MySQL 8.0 ist utf8mb4_0900_ai_ci, was ein Typ von utf8mb4_unicode_ci ist. Die spezifischen Bedeutungen sind wie folgt:
utf8mb4 wurde zum Standardzeichensatz, wobei utf8mb4_0900_ai_ci die Standardsortierung in MySQL 8.0.1 und höher ist. Zuvor war utf8mb4_general_ci die Standardsortierung. Da die Sortierung „utf8mb4_0900_ai_ci“ jetzt die Standardsortierung ist, können neue Tabellen standardmäßig Zeichen außerhalb der Basic Multilingual Plane speichern. Emojis können jetzt standardmäßig gespeichert werden. Wenn Sie Akzent- und Groß-/Kleinschreibung berücksichtigen müssen, können Sie stattdessen utf8mb4_0900_as_cs verwenden. Zusammenfassen Dies ist das Ende dieses Artikels über die MySQL-Kodierung utf8 und utf8mb4 utf8mb4_unicode_ci und utf8mb4_general_ci. Weitere relevante Inhalte zur MySQL-Kodierung utf8 und utf8mb4 finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Lösung für das Problem des wiederholten Auftauchens des Nachrichten-Popup-Fensters von Element
Inhaltsverzeichnis $.ajax von jQuery Der Beginn d...
<br />Im gesamten Produktdesignprozess liege...
Code kopieren Der Code lautet wie folgt: <html...
Frage Nachdem das Unternehmen den Server migriert...
der Begriff: 1. VM: Virtuelle Maschine Schritt: 1...
Problem/Fehler/Szenario/Anforderung Die Festplatt...
Inhaltsverzeichnis 1. Einführung in Nginx 1. Was ...
Docker zugrunde liegende Technologie: Die beiden ...
Inhaltsverzeichnis Die Ursache des Vorfalls Sorti...
Problem 1: Baidu Map verwendet gekachelte Bilder ...
So funktioniert PHP Lassen Sie uns zunächst die B...
Dieser Artikel fasst einige einfache Prinzipien d...
Download-Adresse: https://dev.mysql.com/downloads...
Das Thema Big Data wird immer wichtiger und wer m...
Vorwort Ich habe zufällig entdeckt, dass die halb...