Heim  >  Artikel  >  Datenbank  >  Wie erkenne ich chinesische Schriftzeichen in MySQL?

Wie erkenne ich chinesische Schriftzeichen in MySQL?

黄舟
黄舟Original
2016-12-21 17:07:301975Durchsuche

Originalquelle: Wen Guobing Willkommen zum Teilen des Originals mit Bole Toutiao

1 Einführung

In einer Produktionsumgebung gibt es oft ein Szenario wie dieses: Erhalten chinesischer Daten. Dann stellt sich die Frage: Wie können wir chinesische Schriftzeichen zuordnen?

Dieser Artikel bietet zwei Methoden.

Zweite Demo

2.1 Umgebung


MYSQL> SHOW VARIABLES LIKE "%version%";

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

|. Variablenname |. Wert |

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

|. Protokollversion 10 |

|. version_comment |

|. version_compile_os | |

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

5 Zeilen im Satz (0,00 Sek.)

2.2 Testtabelle erstellen und Testdaten einfügen

mysql -S /tmp /mysql_5173.sock -uroot -proot

Erstellen Sie eine Testtabelle und fügen Sie Testdaten ein.

mysql> USE test;

mysql> CREATE TABLE user

-> >-> ) DEFAULT CHARSET = utf8 ENGINE = INNODB;

Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)

mysql> SHOW TABLE STATUS LIKE 'user' G;

****************************** 1. Reihe *************** *** *********

Name: Benutzer

Engine: InnoDB

Version: 10

Zeilenformat: Kompakt

Zeilen: 2

Durchschn._Zeilenlänge: 8192

Datenlänge: 16384

Max_data_length: 0

Index_länge: 0

Datenfrei : 0

Auto_increment: NULL

Create_time: 2015-01-16 18:01:36

Update_time: NULL

Check_time: NULL

Sortierung: utf8_general_ci

Prüfsumme: NULL

Create_options:

Kommentar:

1 Zeile im Satz (0,00 Sek.)

FEHLER:

Keine Abfrage angegeben

mysql> INSERT INTO user VALUES('robin');

Abfrage OK, 1 Zeile betroffen (0,01 Sek.)

mysql> ; INSERT INTO user VALUES('Wen Guobing');

Abfrage OK, 1 Zeile betroffen (0,00 Sek.)

Drei Implementierungen

3.1 Methode 1 Regulärer Ausdruck

mysql> SELECT * FROM user G;

****************************** 1. Zeile *** **************************

Name: Rotkehlchen

***** *********** **************** 2. Reihe **************** *********

Name: Wen Guobing

2 Zeilen im Satz (0,00 Sek.)

MYSQL> SELECT name,

-> CASE name REGEXP „[u0391-uFFE5]“

-> WHEN 1 THEN „Kein chinesisches Schriftzeichen“

-> >

-> END AS „Bestimmen Sie, ob es sich um ein chinesisches Schriftzeichen handelt“

-> FROM user;

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

|. Bestimmen Sie, ob es sich um ein chinesisches Schriftzeichen handelt|

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

|. Robin |. ist kein chinesisches Schriftzeichen|

| ist ein chinesisches Schriftzeichen|. ----+

2 Zeilen im Satz (0,00 Sek.)

mysql> SELECT name FROM user WHERE NOT (name REGEXP "[u0391-uFFE5]");

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

| Name |

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

|. Wen Guobing|

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

1 rowinset(0.00 sec)

3.2 Methode 2 length() und char_length( )

mysql> SELECT name, length(name), char_length(name) FROM user;

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

|. length(name) |

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

| |

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

2 Zeilen im Satz (0,00 Sek.)

mysql> SELECT name FROM user WHERE length(name) char_length(name);

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

|. Name |

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

| 🎜>+-----------+

1 rowinset (0,00 Sek.)

Wie erkennt man chinesische Schriftzeichen in MySQL? Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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