Rumah >pangkalan data >tutorial mysql >Tukar output pertanyaan MySQL kepada UTF8?

Tukar output pertanyaan MySQL kepada UTF8?

WBOY
WBOYke hadapan
2023-08-23 14:13:081218semak imbas

Tukar output pertanyaan MySQL kepada UTF8?

Anda perlu menggunakan fungsi CAST() atau CONVERT() untuk menukar output pertanyaan MySQL kepada UTF8. Di sini, saya menggunakan MySQL versi 8.0.12. Mari kita semak versi dahulu:

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

Dalam ini jika anda menggunakan utf8 maka anda akan mendapat amaran alias kerana ia mempunyai utf8mb4. Oleh itu, anda boleh mengelakkan amaran dengan meletakkan utf8mb4.

Nota: Jangan sekali-kali menggunakan UTF8. Untuk versi semasa, gunakan UTF8MB4

Berikut ialah sintaks untuk menukar output pertanyaan MySQL kepada UTF8:

SELECT yourColumnName1,convert(yourColumnName2 USING utf8) as anyVariableName FROM yourTableName;

Anda boleh menggunakan sintaks lain seperti berikut:

SELECT yourColumnName1,CONVERT(CAST(yourColumnName2 as BINARY) USING utf8) as anyVariableName FROM yourTableName;

Untuk memahami sintaks di atas, mari kami cipta jadual. Pertanyaan untuk mencipta jadual adalah seperti berikut:

mysql> create table ConvertOutputtoUtf8Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> Age int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.79 sec)

Masukkan beberapa rekod dalam jadual menggunakan arahan sisip. Pertanyaannya adalah seperti berikut:

mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('John',24);
Query OK, 1 row affected (0.78 sec)
mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Larry',21);
Query OK, 1 row affected (0.15 sec)
mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Carol',26);
Query OK, 1 row affected (0.12 sec)
mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Mike',27);
Query OK, 1 row affected (0.18 sec)
mysql> insert into ConvertOutputtoUtf8Demo(Name,Age) values('Sam',22);
Query OK, 1 row affected (0.15 sec)

Paparkan semua rekod daripada jadual menggunakan pernyataan pilih. Pertanyaannya adalah seperti berikut:

mysql> select *from ConvertOutputtoUtf8Demo;

Berikut ialah output:

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  1 | John  | 24   |
|  2 | Larry | 21   |
|  3 | Carol | 26   |
|  4 | Mike  | 27   |
|  5 | Sam   | 22   |
+----+-------+------+
5 rows in set (0.00 sec)

Berikut adalah pertanyaan untuk menukar output pertanyaan MySQL kepada UTF8:

mysql> select Id,convert(Name using utf8) as ConvertToUtf8 from ConvertOutputtoUtf8Demo;

Berikut ialah output:

+----+---------------+
| Id | ConvertToUtf8 |
+----+---------------+
| 1 | John           |
| 2 | Larry          |
| 3 | Carol          |
| 4 | Mike           |
| 5 | Sam            |
+----+---------------+
5 rows in set, 1 warning (0.00 sec)

Anda boleh menggunakan pertanyaan lain iaitu seperti berikut:

mysql> SELECT Id,CONVERT(CAST(Name as BINARY) USING utf8) as ConvertToUtf8 FROM ConvertOutputtoUtf8Demo;

Berikut adalah output:

+----+---------------+
| Id | ConvertToUtf8 |
+----+---------------+
| 1 | John           |
| 2 | Larry          |
| 3 | Carol          |
| 4 | Mike           |
| 5 | Sam            |
+----+---------------+
5 rows in set, 1 warning (0.00 sec)

Atas ialah kandungan terperinci Tukar output pertanyaan MySQL kepada UTF8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam