MySQL unterstützt die Speicherung von Emoji-Symbolen
Wenn UPDATA- und INSERT-Daten in MySLQ verwendet werden und die Daten Emoji-Symbole enthalten, wie zum Beispiel: ?, ?, ?, ist es leicht, sie zu aktualisieren oder erfolglos einzufügen, was zu einem Fehler führt.
Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'name' at row
Ich bin fast zusammengebrochen, aber zum Glück habe ich dieses seltsame Problem endlich gelöst. Der in den Daten gezeigte Grund ist, dass die UTF8-Codierung vor MYSQL 5.5 nur 1-3 Bytes und nur den Unicode-Codierungsbereich des BMP-Teils unterstützte und Emoji-Symbole zufällig in 4-Byte-Codierung gespeichert wurden. Ab MYSQL5.5 kann die 4-Byte-UTF-Kodierung utf8mb4 unterstützt werden. Ein Zeichen kann bis zu 4 Bytes haben, sodass mehr Zeichensätze unterstützt werden können. Um das Problem zu lösen, müssen daher alle Zeichenkodierungen der Datenbanktabelle in utf8mb4 geändert werden.
Empfohlen: MySQL-Video-Tutorial
Gemeinsame Zeichensätze
ASCII: American Standard Encoding for Information Interchange; Westeuropäische Sprachen; Einzelbyte-Kodierung, 7 Bits repräsentieren ein Zeichen, insgesamt 128 Zeichen.
GBK: Interne Codeerweiterungsspezifikation für chinesische, japanische und koreanische Zeichen; insgesamt sind 21.003 chinesische Zeichen enthalten, eine Erweiterung von GB2312.
UTF-8: Unicode-Standard für Zeichenkodierung mit variabler Länge; Unicode-Standard (Unicode), ein einheitlicher Standard in der Branche, einschließlich Dutzender Textsysteme auf der Welt; Verwenden Sie ein bis drei Bytes, um jedes Zeichen zu kodieren.
utf8mb4: speichert vier Bytes. Das Anwendungsszenario wird zum Speichern von Emoji-Ausdrücken verwendet, da Emoji-Ausdrücke vier Bytes lang sein können.
utf8mb4: MySQL-Version > 5.5.3.
Weitere gängige Zeichensätze: UTF-32, UTF-16, Big5, latin1
Der Zeichensatz in der Datenbank enthält zwei Bedeutungsebenen
Eine Sammlung verschiedener Texte und Symbole, einschließlich der Zeichen, Satzzeichen, grafischen Symbole, Zahlen usw. jedes Landes.
Die Kodierungsmethode von Zeichen, dh die Zuordnungsregeln zwischen Binärdaten und Zeichen.
SystemumgebungMySQL 5.7.14
Mac OSX 10.11.6
Zuerst sichernSichern Sie alle Daten auf Ihrem Server, bevor Sie Daten aktualisieren. Behalten Sie gute Gewohnheiten bei, Sicherheit geht vor!
Aktualisieren Sie Ihr MySQLDie neue Datenbank kann hier heruntergeladen werden
Aktualisieren Sie den MySQL-Server auf v5.5.3+. Ändern Sie Ihre Datenbank, Tabellen, Felder
# 对每一个数据库: ALTER DATABASE 这里数据库名字 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; # 对每一个表: ALTER TABLE 这里是表名字 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 对每一个字段: ALTER TABLE 这里是表名字 CHANGE 字段名字 重复字段名字 VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 上面一句或者使用modify来更改 ALTER TABLE 这里是表名字 modify 字段名字 VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '';
utf8mb4 ist vollständig abwärtskompatibel mit utf8, ohne verstümmelte Zeichen oder andere Formen von Datenverlust. Theoretisch können Sie es problemlos ändern. Wenn Sie sich nicht sicher sind, ob Sie es ändern möchten, können Sie die Daten aus der Sicherung wiederherstellen und dann den Programmierer mit dem Emoji-kompatiblen Speicherproblem befassen. Beim Speichern können Sie sie filtern und in base64 konvertieren , und es dann beim Abrufen wieder konvertieren? ... Es ist bequemer, die Datenbank zu ändern.
Überprüfen Sie Ihre Felder und IndizesStellen Sie nicht alles auf utf8mb4, das ist notwendig. Ich setze es nur auf utf8mb4, wenn einige meiner Feldtypen VARCHAR sind.
Ändern Sie die MySQL-KonfigurationsdateiDieser Ort ist am verwirrendsten. Ich kann /etc/my.cnf auf meinem Mac OSX-System nicht finden. Es existiert überhaupt nicht, also müssen wir eine solche Datei erstellen und ändern.
# 进入这个目录, # 在这个目录下面有个后缀为`.cnf`的文件 cd /usr/local/mysql/support-files/ # 将这个文件复制到`etc`目录中并将名字命名为`my.cnf` sudo cp my-default.cnf /etc/my.cnf # 然后编辑`my.cnf`文件,将下面内容复制到里面。 sudo vim /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Der Neustartschritt ist sehr wichtig, sonst hat er keine Wirkung.
Start: /usr/local/mysql/support-files/mysql.server start
Stopp: /usr/local/mysql/support-files/mysql.server stop
Neustart:/usr/local/mysql/support-files/mysql.server restart
Das System kann in dieser Form neu starten, stoppen oder starten
service mysqld stop service mysqld start service mysqld restart
Überprüfen Sie mit dem folgenden Befehl, ob die Einstellung erfolgreich war!
# 登陆MySQL进行查询 mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; # 运行上面代码显示下面结果 # +--------------------------+--------------------+ # | Variable_name | Value | # +--------------------------+--------------------+ # | character_set_client | utf8mb4 | # | character_set_connection | utf8mb4 | # | character_set_database | utf8mb4 | # | character_set_filesystem | binary | # | character_set_results | utf8mb4 | # | character_set_server | utf8mb4 | # | character_set_system | utf8 | # | collation_connection | utf8mb4_unicode_ci | # | collation_database | utf8mb4_unicode_ci | # | collation_server | utf8mb4_unicode_ci | # +--------------------------+--------------------+ # 查看表的情况 mysql> SHOW FULL COLUMNS FROM users_profile;
An diesem Punkt bedeutet das, dass Sie Erfolg hatten! Glückwunsch! ~
Reparieren und optimieren Sie den TischIch bin an diesem Punkt angelangt und es besteht keine Notwendigkeit, den Tisch zu reparieren und zu optimieren Ich habe diese beiden Befehle ausgeführt, obwohl ich nicht weiß, wozu sie dienen, aber ich belasse sie hier als Notiz.
REPAIR TABLE 表名字; OPTIMIZE TABLE 表名字;
Das obige ist der detaillierte Inhalt vonMySQL unterstützt die Speicherung von Emoji-Symbolen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

Das Erstellen einer SQL -Datenbank umfasst 10 Schritte: Auswählen von DBMs; Installation von DBMs; Erstellen einer Datenbank; Erstellen einer Tabelle; Daten einfügen; Daten abrufen; Daten aktualisieren; Daten löschen; Benutzer verwalten; Sichern der Datenbank.
