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ätVerbindung | 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 Platzgbk: kann 30 Bytes speichern, belegt Platz 30*2utf8: kann 30 Bytes speichern, belegt Platz 30*3
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 Global wirksam Dauerhaft wirksam 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! mysql> set character_set = 'gbk';
mysql> set character_set_client = 'gbk';
mysql> set global character_set_client = 'gbk';
Query OK, 0 rows affected (0.00 sec)
vim /etc/my.cnf
character-set-server=utf8
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!