Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist der MySQL-Zeichensatz? Einführung in Zeichensätze

青灯夜游
Freigeben: 2018-10-17 17:30:12
nach vorne
4972 Leute haben es durchsucht

In diesem Artikel erfahren Sie, was der MySQL-Zeichensatz ist. Eine verwandte Einführung in den Zeichensatz. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Einführung in den Zeichensatz

  • gbk/gb2312

    gbk/gb2312
    Verwendet einen Doppelbyte-Zeichensatz. Zur Unterscheidung von Chinesisch werden die höchsten Bits auf 1 gesetzt.
    gb2312 ist ein Unterzeichen. Kind von gbk Set, gbk ist eine Teilmenge von gb18030, gb2312 kann nur vereinfachte chinesische Zeichen speichern
    gbk enthält einen großen Zeichensatz aus chinesischen, japanischen und koreanischen Zeichen
    Normalerweise reicht die Verwendung des gbk-Zeichensatzes aus
    International Vielseitigkeit ist schlechter als utf8, aber utf8 Die belegte Datenbank ist größer als gbk (utf8 ist ein Drei-Byte-Zeichensatz)

  • utf8/utf8mb4

    Der vollständige UTF-Name (Unicode Transformation Format) ist eine Speichermethode für Unicode, eine Zeichenkodierung mit variabler Länge, auch bekannt als Unicode.
    Versuchen Sie, utf8 für den Datenbankzeichensatz (einschließlich Verbindung, Ergebnis usw.) zu verwenden Die endgültige HTML-Seite muss mit utf8 konsistent sein.
    UTF8 verwendet Bytes variabler Länge zum Speichern von Unicode-Zeichen. Beispielsweise verwenden ASCII-Buchstaben weiterhin 1 Byte zum Speichern, akzentuierte Zeichen, griechische Buchstaben oder kyrillische Buchstaben verwenden 2 Bytes Zum Speichern sind häufig verwendete chinesische Zeichen erforderlich. Verwenden Sie 3 Bytes. Das heißt, ein englisches Zeichen entspricht einem Byte und ein chinesisches Zeichen (einschließlich traditionellem Chinesisch) entspricht drei Bytes.
    utf8mb4 kann bis zu 4 Bytes pro Zeichen speichern, sodass es mehr Zeichensätze unterstützen kann. utf8mb4 wird häufig in Projekten zum Speichern von Emoji-Ausdrücken verwendet.
    latin1 ist ein 8-Bit-Zeichensatz (1 Byte), der jedoch nicht abgedeckt werden kann Asiatische und afrikanische Sprachen. ;
    unidoce ist eine Erweiterung von latin1, die Unterstützung für reguläre asiatische und afrikanische Sprachen hinzufügt, aber immer noch nicht alle Sprachen unterstützt, und es ist nicht effizient, Unidoce zur Darstellung von ASCII zu verwenden (was oft einfach ist). um einen kleinen Zeichensatz in einen großen Zeichensatz umzuwandeln)
    utf8 ist eine Erweiterung von Unicode;
    gbk, gb2312 und utf8 müssen durch Unicode-Codierung ineinander konvertiert werden.

Vorschläge zur Verwendung von Zeichensätzen

1. Wenn Sie sich sehr sicher sind, dass es nur chinesische Terminals gibt Benutzer können gbk / gb2312 wählen

2 Um die Datenmigration und die Anzeige mehrerer Terminals zu erleichtern, verwenden Sie am besten utf8

3. empfindlich, der Standardprüfsatz xx_ci kann verwendet werden, andernfalls wählen Sie den Prüfsatz xx_bin (versuchen Sie in einer Produktionsumgebung, den Prüfsatz nicht zu ändern)

4. Der Standardzeichensatz ist latin1. Dieser Zeichensatz wird gespeichert Chinesische Zeichen separat, sodass die Abrufergebnisse nicht genau genug sind. Aus Platzgründen wird die Verwendung des

MySQL-Zeichensatzbereichs

Serverschicht (Server) > Datentabelle (Tabelle) >

MySQL-Zeichensatzpriorität

Verbindung | Spalte > Datenbank > 🎜>char-Typ

char(N): N stellt die Anzahl der Zeichen dar (auch Zeichenlänge genannt), nicht Bytes char(N): Es handelt sich um einen Speicher mit fester Länge, der einen Speicherplatz mit fester Länge belegt. Wenn MySQL den Typ char(N) verarbeitet, muss der nicht ausreichende Teil mit Leerzeichen gefüllt werden.

Speicherplatz: Der Speicherplatz des Typs char(N) hängt vom Zeichensatz ab. In Kombination mit den Wissenspunkten des Zeichensatzes belegt ein Chinesisch gerade 3 Bytes im utf8-Zeichensatz, gbk belegt 2 Bytes, Zahlen und Zeichen werden einheitlich durch ein Zeichen dargestellt. Speichermechanismus: Wenn die Länge nicht ausreicht, muss MySQL beim Speichern von Daten anstelle der hexadezimalen 20 spezielle Leerzeichen ausfüllenDenken:

char(30), die maximale Zahl von Buchstaben und chinesischen Zeichen, die in verschiedenen Zeichensätzen gespeichert werden können, und der belegte Platz

gbk: kann 30 Bytes speichern, belegt Platz 30*2utf8: kann 30 Bytes speichern, belegt Platz 30*3

varcahr-Typ


varchar(N): N stellt die Anzahl der Zeichen dar (auch Zeichenlänge genannt), nicht Bytes
varchar(N): Das ist es

Speicherplatz mit variabler Länge: Der Speicherplatz vom Typ varchar(N) hängt mit den Wissenspunkten des Zeichensatzes zusammen, a Chinesisch belegt im UTF8-Zeichensatz 3 Bytes, GBK belegt einheitlich 2 Bytes und Zahlen und Zeichen werden durch ein Zeichen dargestellt.

Speichermechanismus: Die Feldspeicherung von varchar(N) beginnt tatsächlich beim zweiten Byte und verwendet dann 1 bis 2 Bytes, um die tatsächliche Länge darzustellen. Der Rest ist der Bereich, in dem Daten gespeichert werden können, also der maximal verfügbare Speicher 65535-3=65532 Bytes; das erste Byte gibt an, ob es leer ist (Wenn die Länge weniger als 255 Bytes beträgt, verwenden Sie ein Byte, um die Länge darzustellen; wenn sie größer als 255 Bytes ist, verwenden Sie zwei Bytes, um die Länge darzustellen.)

Ändern Sie den Zeichensatz der Datenbankinstanz

Vorübergehend wirksam

mysql> set character_set = 'gbk';
mysql> set character_set_client = 'gbk';
Nach dem Login kopieren

Global wirksam

mysql> set global character_set_client = 'gbk';
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

Dauerhaft wirksam

vim /etc/my.cnf 
character-set-server=utf8
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Tutorials finden Sie unter MySQL-Datenbank-Grafik-Tutorial , MySQL-Video-Tutorial, Bootstrap-Video-Tutorial!

Das obige ist der detaillierte Inhalt vonWas ist der MySQL-Zeichensatz? Einführung in Zeichensätze. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage