Heim  >  Artikel  >  Datenbank  >  So legen Sie den Zeichensatz in MySQL fest

So legen Sie den Zeichensatz in MySQL fest

PHPz
PHPznach vorne
2023-05-27 13:38:248512Durchsuche

1. Das Konzept des Zeichensatzes

Der Zeichensatz standardisiert die Zuordnungsbeziehung zwischen Codes und Zeichen und gibt die Codierungsmethode von Computerzeichen an. Die Zeichensatzeinstellungen in verschiedenen Datenbanksystemen können unterschiedlich sein, und unterschiedliche Zeichensätze haben einzigartige Eigenschaften und Vorteile. Im Vergleich zu Latin1/Latin7 bietet GB2312/GBK/GB18030 größere Vorteile bei der Verarbeitung chinesischer Schriftzeichen.

In MySQL bezieht sich der Zeichensatz auf die Art und Weise, wie Zeichendaten codiert werden, einschließlich Datenbanken, Tabellen und Spalten. Laienhaft ausgedrückt bezieht sich ein Zeichensatz auf die Art und Weise, wie Zeichen und Zeichenfolgen gespeichert und verarbeitet werden.

Die in MySQL unterstützten Zeichensätze umfassen hauptsächlich die folgenden: ASCII, GBK, GB2312, UTF-8, UTF-16 und ISO-8859 usw. Unter diesen ist UTF-8 der am häufigsten verwendete Zeichensatz in MySQL, weil es Unterstützt mehrere Sprachen, flexibles Codierungsformat, Platzersparnis und andere Vorteile.

2. So legen Sie den MySQL-Zeichensatz fest

  1. Fragen Sie den von MySQL unterstützten Zeichensatz ab

In der MySQL-Datenbank können Sie den von der Datenbank unterstützten Zeichensatz über Befehle abfragen.

SHOW CHARACTER SET;

Dieser Befehl kann die verschiedenen für MySQL verfügbaren Zeichensätze auflisten, wie zum Beispiel:

cp1250Windows Mitteleuropacp1250_general_ci 1gbkGBK Vereinfachtes Chinesisch gbk_chinese_ci2latin5iso-8859-9 Türkischlatin5_turkish_ci1armscii8ARMSCII-8 Armenischarm scii8_general_ci1 utf8UTF-8 Unicodeutf8_general_ci3ucs2UCS-2 Unicodeucs2_general_ci2cp866DOS Russischcp866_general_ci1keybcs2DOS Kamenicky Tschechisch-Slowakischkeybcs2_general_ci1macceMac Mitteleuropäischmacce_general_ci1macromanMac West Europeanmacro man_general_ci1 cp852DOS Central Europeancp852_general_ci1latin7iso-8859-13 Balticlatin7_general_ci1utf8mb4UTF-8 Unicode utf8mb4_general_ci4cp1251Windows Kyrillisch cp1251_general_ci1utf16UTF-16 Unicodeutf16_general_ci 4utf16leUTF-1 6LE Unicodeutf16le_general_ci4cp1256Windows-Arabischcp1256_general_ci1cp1257Windows utf32binärgeostd8cp932eucjpms
  1. Legen Sie den Zeichensatz der Datenbank fest.

Wenn wir eine neue MySQL-Datenbank erstellen, können wir den Standardzeichensatz festlegen Dieser Zeichensatz wird von allen Tabellen in der Datenbank verwendet. Die spezifischen Schritte sind wie folgt:

2.1 Überprüfen Sie zunächst die von MySQL unterstützten Zeichensätze

mysql> SHOW CHARACTER SET;

2.2 Beim Erstellen eines Neue Datenbank, fügen Sie eine Zeichensatzeinstellung hinzu

CREATE DATABASE new_db CHARACTER SET utf8;

oder

Der folgende Satz wird umgeschrieben: „Erstellen Sie eine neue Datenbank namens ‚new_db‘ mit dem Standardzeichensatz utf8.“

wobei utf8 einer der am häufigsten verwendeten Zeichensätze ist.

  1. Legen Sie den Zeichensatz der MySQL-Tabelle fest

Um sicherzustellen, dass die Tabelle speichern kann und Um die Daten korrekt anzuzeigen, müssen wir die Zeichenkodierung für die Tabelle festlegen. In MySQL kann der Zeichensatz einer Tabelle beim Erstellen der Tabelle festgelegt werden. Bereits erstellte Tabellen können mit dem ALTER-Befehl geändert werden.

3.1 Legen Sie den Zeichensatz beim Erstellen der Tabelle fest

CREATE TABLE new_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50 ) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Die zum Festlegen der Tabelle verwendete Speicher-Engine ist ENGINE=InnoDB, und Der zum Festlegen einer Tabelle verwendete Standardzeichensatz ist CHARSET=utf8.

3.2 Ändern Sie den Zeichensatz der Tabelle

ALTER TABLE old_table CONVERT TO CHARACTER SET utf8;

oder

ALTER TABLE old_table MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8;

Unter diesen wird der Befehl CONVERT TO zum Ändern des Standardzeichensatzes der Tabelle und der Befehl MODIFY COLUMN zum Ändern verwendet der Zeichensatz einer Spalte in der Tabelle.

  1. Legen Sie den Zeichensatz für die MySQL-Verbindung fest.

Beim Herstellen einer Verbindung zum MySQL-Server können Sie auch festlegen die Zeichen für den Operationssatz. Die Zeichensatzeinstellung, oft auch „Client-Zeichensatz“ genannt, bezieht sich auf den Zeichensatz, der für die auf der Client-Seite übertragenen Daten verwendet wird.

4.1 Den Zeichensatz der aktuellen Verbindung anzeigen

mysql> SELECT @@character_set_connection;

4.2 Den Zeichensatz der Verbindung ändern#🎜 🎜##🎜 🎜#SET Character_set_connection = utf8;

oder

mysql --default-character-set=utf8 -u root -p

#🎜🎜 #where, SET Der Befehl kann den Standardzeichensatz der Verbindung ändern, und der Befehl --default-character-set kann den Client-Zeichensatz angeben.

Andere Zeichensatzeinstellungen
  1. In einigen Fällen, um einige weniger häufige Datenspeicherung zu verarbeiten und Konvertierungsanforderungen erfordern möglicherweise die Aktivierung zusätzlicher Zeichensatzeinstellungen für MySQL. In diesem Fall müssen Sie möglicherweise die MySQL-Konfigurationsdatei my.cnf mit Administratorrechten ändern. Die Änderungsmethode ist wie folgt:
5.1 Suchen Sie die Datei my.cnf

Unter Linux wird die Datei my.cnf normalerweise in /etc/my.cnf oder / gespeichert. etc/mysql/my .cnf-Verzeichnis.

Unter Windows wird die my.cnf-Datei normalerweise im Installationsverzeichnis der MySQL-Datenbank gespeichert.

5.2 Ändern Sie die Datei my.cnf.

Fügen Sie die folgende Anweisung in die Datei my.cnf ein:

[mysqld]

character_set_server =utf8

init_connect='SET NAMES utf8'


Unter diesen wird der Befehl „character_set_server“ zum Festlegen der aufgelisteten Zeichensätze und der Befehl „init_connect“ zum automatischen Festlegen des Zeichensatzes beim Erstellen verwendet eine Verbindung.

Charset Description Default collation Maxlen
big5 Big5 Traditionell Chinesisch big5_chinese_ci 2
dec8 DEC Westeuropäisch dec8_swedish_ci 1
cp850 DOS Westeuropäisch cp850_general_ci 1
hp8 HP Westeuropa hp8_english_ci 1
koi8r KOI8-R Relcom Russian koi8r_general_ci 1
latin1 iso-8859-1 Europäisch latin1_swedish_ci 1
latin2 iso-8859-2 Mitteleuropäisch latin2_general_ci 1
swe7 7bit Schwedisch swe7_swedish_ci 1
ascii US A SCII ascii_gener al_ci 1
ujis EUC-JP Japanisch ujis_japanese_ci 3
sjis Shift-JIS Japanisch sjis_japanese_ci 2
hebräisch iso -8859-8 Hebräisch hebrew_general_ci 1
tis620 TIS620 Thailändisch tis620_thai_ci 1
euckr EUC-KR Koreanisch euckr_korean_ci 2
koi8u KOI8-U Ukrainisch koi8u_general_ci 1
GB2312
1
UTF-32 Unicode utf32_general_ci 4
Binärer Pseudozeichensatz binär 1
GEOSTD8. Georgisch geostd8_general_ci 1
SJIS für Windows Japanisch cp932_japanese_ ci 2
UJIS für Windows Japanisch eucjpms_japanese_ci 3

Das obige ist der detaillierte Inhalt vonSo legen Sie den Zeichensatz in MySQL fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen