Heim >Datenbank >MySQL-Tutorial >Konvertierung der MySQL-Codierung

Konvertierung der MySQL-Codierung

WBOY
WBOYOriginal
2023-05-08 10:22:072129Durchsuche

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem zum Speichern und Verwalten von Daten. Bei der Verwendung von MySQL ist es manchmal erforderlich, die Daten zu verschlüsseln. Unter Kodierungskonvertierung versteht man die Konvertierung einer Zeichensatzkodierung in eine andere Zeichensatzkodierung, darunter UTF-8, GBK, GB2312 usw.

In MySQL können Sie die Konvertierungsfunktion und die Umwandlungsfunktion verwenden, um eine Kodierungskonvertierung durchzuführen.

  1. Verwenden Sie die Konvertierungsfunktion für die Kodierungskonvertierung

Die Konvertierungsfunktion kann eine Zeichenfolge von einer Zeichensatzkodierung in eine andere Zeichensatzkodierung konvertieren. Die Syntax lautet wie folgt:

convert(expr, charset, [binary])

Darunter ist expr die Zeichenfolge, die konvertiert werden muss, charset ist der Zeichensatz der Zielkodierung und binär ist ein optionaler Parameter um anzugeben, ob der Binärmodus verwendet werden soll.

Konvertieren Sie beispielsweise eine gb2312-codierte Zeichenfolge in eine utf8-codierte Zeichenfolge:

SELECT CONVERT('中国',CHARACTER SET utf8);

Das Ausführungsergebnis lautet:

+---------------+
| CONVERT('中国',CHARACTER SET utf8) |
+---------------+
| 中国         (中文字符)        |
+---------------+
  1. Verwenden Sie die Cast-Funktion für die Codierungskonvertierung.

Die Cast-Funktion kann auch zum Konvertieren von a verwendet werden Zeichenfolge aus einer Zeichensatzkodierung in eine andere Zeichensatzkodierung konvertieren. Die Syntax lautet wie folgt:

cast(expr as type)

wobei expr die Zeichenfolge ist, die konvertiert werden muss, und type der Kodierungstyp des Zielzeichensatzes ist.

Konvertieren Sie beispielsweise eine GBK-codierte Zeichenfolge in eine UTF8-codierte Zeichenfolge:

SELECT CAST('中国' as CHAR CHARACTER SET utf8);

Das Ausführungsergebnis lautet:

+------------------------------------+
| CAST('中国' as CHAR CHARACTER SET utf8) |
+------------------------------------+
| 中国                            |
+------------------------------------+

Es ist zu beachten, dass die Umwandlungsfunktion nur vorhandene Datentypen in andere Datentypen konvertieren kann. Wenn die Datentypen selbst nicht übereinstimmen, ist eine Konvertierung über die Cast-Funktion nicht möglich.

Zusätzlich zu den Funktionen zur Kodierungskonvertierung können Sie diese auch in der MySQL-Konfigurationsdatei my.ini konfigurieren. In my.ini müssen Sie die Parameter „character-set-server“ und „collation-server“ festlegen, um den Zeichensatz und die Sortierung des MySQL-Servers anzugeben. Ändern Sie beispielsweise die Standardzeichensatzkodierung des MySQL-Servers in utf8:

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci

Gleichzeitig können Sie beim Erstellen einer Datenbank und beim Erstellen einer Tabelle auch den Kodierungstyp angeben. Erstellen Sie beispielsweise eine Datenbank mit der utf8-Zeichensatzkodierung und der utf8_general_ci-Sortierung:

CREATE DATABASE mydatabase
    DEFAULT CHARACTER SET utf8
    DEFAULT COLLATE utf8_general_ci;

Erstellen Sie eine Tabelle mit der utf8-Zeichensatzkodierung und der utf8_general_ci-Sortierung:

CREATE TABLE mytable (
    id INT NOT NULL,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Zusammenfassung:

MySQL unterstützt mehrere Zeichensatzkodierungen, häufig einschließlich UTF-8, GBK, GB2312 usw. Wenn Sie MySQL verwenden, müssen Sie die richtige Zeichensatzkodierung und -sortierung festlegen, um mehrere Sprachen und die korrekte Positionierung von Zeichenfolgen zu unterstützen. Sie können die Konvertierungsfunktion und die Umwandlungsfunktion für die Kodierungskonvertierung verwenden oder den Zeichensatz und die Sortierung in der MySQL-Konfigurationsdatei my.ini angeben.

Das obige ist der detaillierte Inhalt vonKonvertierung der MySQL-Codierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:MySQL, wenn nicht gleichNächster Artikel:MySQL, wenn nicht gleich