Heim Datenbank MySQL-Tutorial utf8 MySQL verstümmelter Code

utf8 MySQL verstümmelter Code

May 23, 2023 am 09:57 AM

UTF-8-Kodierung ist derzeit das am weitesten verbreitete Zeichenkodierungsformat, und MySQL kann auch die Verwendung der UTF-8-Kodierung zum Speichern von Daten unterstützen. Wenn Sie jedoch MySQL zum Speichern von UTF-8-codierten Daten verwenden, können verstümmelte Zeichen auftreten. In diesem Artikel werden die Gründe und Lösungen für das Auftreten verstümmelter UTF-8-Kodierungszeichen in MySQL vorgestellt.

Aus historischen Gründen verwendet MySQL standardmäßig das Codierungsformat Latin1 (ISO-8859-1). Dieses Kodierungsformat ist für die meisten westlichen Sprachen geeignet. Für Sprachen wie asiatische Sprachen und Sprachen des Nahen Ostens, die komplexe Zeichensätze verwenden, scheint dies jedoch unzureichend zu sein.

Mit der Entwicklung der Internettechnologie verwenden immer mehr Länder und Regionen nicht-lateinische Zeichensätze für die Textkommunikation. Um dieses Problem zu lösen, hat MySQL das UTF-8-Kodierungsformat eingeführt, damit MySQL umfangreicheren Sprachtext speichern kann. Bei der UTF-8-Kodierung (8-Bit-Unicode-Transformationsformat) handelt es sich um eine Zeichenkodierung mit variabler Länge, die alle Zeichen im Unicode-Standard unterstützt. Wenn die UTF-8-Kodierung jedoch in MySQL gespeichert wird, können verstümmelte Zeichen auftreten.

Ursachen und Lösungen für verstümmelte Zeichen:

Problem 1: Der CHARSET der MySQL-Tabelle liegt nicht im UTF-8-Format vor.

Wenn beim Erstellen einer Tabelle kein CHARSET angegeben ist, wird standardmäßig der CHARSET der Datenbank verwendet. Wenn daher der Datenbank-CHARSET nicht UTF-8 ist, werden die in der UTF-8-Codierung gespeicherten Daten verstümmelt.

1.1 Überprüfen Sie den CHARSET der Datenbank

Zuerst müssen Sie den CHARSET der Datenbank überprüfen. Sie können den aktuellen CHARSET der Datenbank mit dem folgenden Befehl überprüfen:

mysql> show create database databaseName;
Nach dem Login kopieren

1.2 Ändern Sie den CHARSET der Datenbank

Wenn der CHARSET von Da die Datenbank nicht UTF-8 ist, müssen Sie den CHARSET der Datenbank ändern. Sie können den CHARSET der Datenbank durch die folgenden Schritte ändern:

1.2.1 Sichern Sie die Datenbank

Da wir den CHARSET der Datenbank ändern müssen, müssen wir zuerst die Datenbank sichern.

1.2.2 Ändern Sie die Standardcodierung der Datenbank.

In MySQL können Sie die Standardcodierung beim Erstellen der Datenbank festlegen. Hier finden Sie eine Demonstration, wie Sie die Standardcodierung ändern .

Ändern Sie die MySQL-Konfigurationsdatei /etc/mysql/mysql.conf.d/mysqld.conf, suchen Sie „[mysqld]“ und fügen Sie den folgenden Inhalt hinzu:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
Nach dem Login kopieren

Nach Abschluss der Änderung speichern und beenden.

1.2.3 Datenbank- und Tabellenkodierung ändern

In MySQL können Sie die Kodierung von Datenbank, Tabelle und Spalte mit der folgenden SQL-Anweisung überprüfen:

/*查看数据库使用的编码*/
SHOW VARIABLES LIKE 'character_set_database';

/*查看数据表使用的编码*/
SHOW FULL COLUMNS FROM 表名;

/*查看列使用的编码*/
SELECT column_name, character_set_name FROM information_schema.columns WHERE table_name='表名';
Nach dem Login kopieren

Wenn die aktuelle Kodierung nicht UTF-8 verwendet, müssen Sie Folgendes tun Um die Datenbank und die Tabelle zu ändern, wurde die Codierung der Spalten auf UTF-8 geändert, die über die folgende SQL-Anweisung geändert werden kann:

/*修改数据库编码为 utf8mb4 */
ALTER DATABASE databaseName CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

/*修改表编码为 utf8mb4*/
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

/*修改列编码为 utf8mb4*/
ALTER TABLE 表名 MODIFY COLUMN 列名 varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Nach dem Login kopieren

Führen Sie nach Abschluss der Änderung die obige Anzeigecodierungsmethode erneut aus, um zu bestätigen, dass CHARSET ist UTF-8-Kodierung.

Problem 2: Für die Datenbankverbindung ist keine UTF-8-Kodierung festgelegt.

Wenn die Anwendung eine Verbindung zur MySQL-Datenbank herstellt, müssen Sie den Verbindungszeichensatz angeben. Wenn die UTF-8-Kodierung nicht festgelegt ist, schlägt das Lesen fehl und beim Schreiben von UTF-8-kodierten Daten erscheinen verstümmelte Zeichen. Wenn Sie eine Verbindung zur MySQL-Datenbank herstellen, können Sie die UTF-8-Codierung über die folgende Anweisung festlegen:

SET NAMES utf8mb4;
Nach dem Login kopieren

Frage 3: MySQL-Client zeigt Codierungsprobleme an

Bei Verwendung der Befehlszeile zum Ausführen von SQL-Anweisungen können verstümmelte Zeichen angezeigt werden, hauptsächlich weil Der Client Das Terminal zeigt verstümmelte Zeichen an. Dieses Problem kann durch Festlegen des Codierungsformats des MySQL-Clients gelöst werden.

3.1 Linux/MacOSX-Client löst verstümmelte Zeichen

In Linux- und MacOSX-Systemen können Sie das MySQL-Client-Kodierungsformat mit dem folgenden Befehl festlegen:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Nach dem Login kopieren

Nachdem die Einstellung abgeschlossen ist, können Sie den MySQL-Client ausführen und SQL-Anweisungen ausführen , und zeigt normale chinesische Zeichen an.

3.2 Windows-Client löst verstümmelte Zeichen

Im Windows-System können Sie das MySQL-Client-Kodierungsformat über die folgenden Schritte festlegen:

Systemsteuerung öffnen-> Systemeinstellungen-> ; Umgebungsvariablen

Erstellen Sie in den Umgebungsvariablen eine neue Systemvariable:

变量名:LANG
变量值:zh_CN.UTF-8
Nach dem Login kopieren

Nach Abschluss der Einstellungen können Sie den MySQL-Client ausführen, SQL-Anweisungen ausführen und chinesische Zeichen normal anzeigen.

Zusammenfassung:

Beim Speichern von UTF-8-codierten Daten in MySQL können verstümmelte Zeichen auftreten. Die Hauptgründe für das Problem mit verstümmeltem Code sind, dass der CHARSET der Tabelle nicht im UTF-8-Kodierungsformat vorliegt, die Datenbankverbindung nicht auf UTF-8-Kodierung eingestellt ist und der MySQL-Client Kodierungsprobleme anzeigt. Durch die korrekte Konfiguration von CHARSET, Verbindungszeichensatz und Client-Codierungsformat in MySQL kann das Problem der UTF-8-Codierung verstümmelter Zeichen gelöst werden.

Das obige ist der detaillierte Inhalt vonutf8 MySQL verstümmelter Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Mar 19, 2025 pm 03:51 PM

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Mar 18, 2025 pm 12:01 PM

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

Wie behandeln Sie große Datensätze in MySQL? Wie behandeln Sie große Datensätze in MySQL? Mar 21, 2025 pm 12:15 PM

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

Erläutern Sie InnoDB Volltext-Suchfunktionen. Erläutern Sie InnoDB Volltext-Suchfunktionen. Apr 02, 2025 pm 06:09 PM

Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

Wie lassen Sie eine Tabelle in MySQL mit der Drop -Tabelle -Anweisung fallen? Wie lassen Sie eine Tabelle in MySQL mit der Drop -Tabelle -Anweisung fallen? Mar 19, 2025 pm 03:52 PM

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

Wie repräsentieren Sie Beziehungen mit fremden Schlüsseln? Wie repräsentieren Sie Beziehungen mit fremden Schlüsseln? Mar 19, 2025 pm 03:48 PM

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

Wie erstellen Sie Indizes für JSON -Spalten? Wie erstellen Sie Indizes für JSON -Spalten? Mar 21, 2025 pm 12:13 PM

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

See all articles