Heim  >  Artikel  >  Datenbank  >  Thema zur MySQL-Ansichtskodierungsmethode

Thema zur MySQL-Ansichtskodierungsmethode

高洛峰
高洛峰Original
2016-12-02 14:42:131050Durchsuche

Mysql View Encoding Method Topic

1.

Zeigen Sie den Zeichensatz der Datenbank an

zeigen Sie Variablen wie „character_set_%“;

Ausgabe :

+--------------------------+--------+

|. Variablenname |. Wert |

+------------------------+

|. Character_Set_Connection |. Character_Set_Results | >

|. latin1 |

|. --- ------+--------+

In Kombination mit der folgenden Codierungstabelle finden wir die Codierung des aktuellen Datenbanksystems:

latin1_bin

Westeuropa (mehrsprachig), binär

binär

binär

Das Obige ist das Ergebnis Kodierung, die ich in der Linux-Umgebung gesammelt habe. Ich überprüfe jetzt die Ergebnisse des Codierungssatzes auf der WIN-Plattform, wie zum Beispiel:

+------------+ ----- ---+

|. Variablenname |

+-------- ---+- ------+

|. utf8 |

|. ----- ----+--------+

Warum gibt es Inkonsistenzen? Das auf meinem Computer angezeigte UTF-8 ist tatsächlich

unter LINUX 2. Ändern Sie die Codierung mit dem Befehl

Datenbank erstellen und den Zeichensatz der Datenbank angeben .

mysql>Datenbank mydb-Zeichensatz utf-8 erstellen;#Kodierung direkt angeben

Direkt über Befehle ändern

set Character_set_client=utf8;

set Character_set_connection=utf8;

set Character_set_database=utf8;

set Character_set_results=utf8;

set Character_set_server=utf8;

Abfrage nach Änderung

Variablen wie „character_set_%“ anzeigen;

+--------------------------+--- - ----+

|. Variablenname |. Wert |

+----------- + --------+

|. utf8 |

| |. binär |

|. utf8 |

|. utf8 |

-------------------+--------+

Alle Ergebnisse wurden angepasst und auf UTF-8 umgestellt!

Nach der Änderung sah ich, dass „select * from address_address;“ verstümmelt war! Django ist auch verstümmelt

3. Lösen Sie das verstümmelte Problem des Datenimports und -exports

#Datenbank nginxdjango erstellen;

# nginxdjango verwenden;

# Variablen wie 'character_set_%' anzeigen;

#Der Ausdruck sieht tatsächlich wie folgt aus

+----------------- ---- -----+--------+

|. Variablenname |

+------------ ---------+--------+

| |. latin1 |

| 🎜>

+------------+--------+

ist immer noch lateinisch kodiert.

OK. Ich habe seine Kodierung eingestellt

set Character_set_client=utf8;

set Character_set_connection=utf8;

set Character_set_database=utf8;

set Character_set_results=utf8;

set Character_set_server=utf8;

Überprüfen Sie das Kodierungsformat erneut: +----------------- ----- ---+--------+

|. Variablenname |

+------------ ------ ------+--------+

|. charakter_set_connection |. utf8 | 🎜>

|. Zeichensatz_Dateisystem |

|. Zeichensatz_Server |

|. utf8 |

+------------------ +

Jetzt importieren Sie die Daten in

Quelle /python/django/sql/nginxdjango.sql;

Die Kodierung von nginxdjango.sql erfolgt ebenfalls im UTF-8-Format!

Importieren. Die Datenbank ist immer noch verstümmelt, aber das Programm läuft normal!


Arten der MySQL-Zeichensatzkodierung

Der Unterschied zwischen gb2312_chinese_ci und gbk_chinese_ci und gb2312_bin, gbk_bin

gb2312_chinese_CI: unterstützt nur vereinfachtes Chinesisch

gbk_bin hat die gleiche Erklärung wie gb2312_BIN und entspricht gbk_chinese_CI

PS: GBK umfasst zwei Typen: vereinfachtes und traditionelles Chinesisch

Neuer Artikel: 09.03.2010

Es gibt vier Ebenen von Standard-Zeichensatzeinstellungen in MySQL: Serverebene, Datenbankebene und Tabellenebene. Der letzte Schritt ist die Einstellung des Zeichensatzes auf Feldebene. Beachten Sie, dass die ersten drei die Standardeinstellungen sind und nicht bedeuten, dass Ihr Feld irgendwann diese Zeichensatzeinstellung verwenden wird. Wir empfehlen daher, die Zeichensatzeinstellungen der Felder in der aktuellen Tabelle zu überprüfen.

Die Zeichensatzeinstellungen für die Verbindungsumgebung in MySQL umfassen Client, Verbindung und Ergebnisse. Durch diese Parameter weiß MySQL, welchen Zeichensatz Ihr Client-Tool verwendet und welcher Zeichensatz der Ergebnissatz sein sollte. Auf diese Weise führt MySQL die erforderliche Übersetzung durch. Sobald diese Parameter falsch sind, führt dies natürlich zu Fehlern bei der Zeichenfolgenkonvertierung während des Übertragungsvorgangs. Grundsätzlich werden 99 % der verstümmelten Codes dadurch verursacht.

1. Zeichensatzeinstellungen für Felder in Datenbanktabellen. show create table TableName oder zeige vollständige Spalten aus tableName

mysql> show create table t1;

mysql> zeige den Codierungstyp der Spalte

3. Sehen Sie sich das Codierungsformat der Datenbank an

show create Database test;

Ausgabe: CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */

2. Aktuelle Verbindungssystemparameter zeigen Variablen wie „char%“

mysql> zeigen Variablen wie „char%“;

1. Stellen Sie sicher, dass der Zeichensatz dieses Felds in der Tabelle mit Chinesisch kompatibel ist:

big5 | Traditionelles Chinesisch

GB2312 Vereinfachtes Chinesisch

gbk |. GBK Vereinfachtes Chinesisch

utf8 | >Ändern Sie den Zeichensatz der Datenbank

mysql>use mydb

mysql>alter Database mydb Zeichensatz utf-8;

Erstellen Sie eine Datenbank um den Zeichensatz der Datenbank anzugeben

Mysql>Datenbank mydb Zeichensatz utf-8 erstellen;

2010-05-02 Neu hinzugefügt

Variablen wie „character_set_%“ anzeigen '; Unter den verschiedenen angezeigten Elementen sind diese drei: Die Elemente werden vom Client

character_set_client

character_set_connection

character_set_results                                                                                                                                                                    Namen festlegen gbk to set! Es bedeutet lediglich, dass die Kodierung des aktuell verbundenen Clients keinen Einfluss auf die Kodierung des Datenbankservers selbst hat

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