Computer >> Máy Tính >  >> Lập trình >> MySQL

Chuyển đổi đầu ra của truy vấn MySQL thành UTF8?

Bạn cần sử dụng hàm CAST () hoặc CONVERT () để chuyển đổi đầu ra của truy vấn MySQL thành UTF8. Ở đây, tôi đang sử dụng MySQL phiên bản 8.0.12. Trước tiên hãy để chúng tôi kiểm tra phiên bản:

 mysql> select version (); + ----------- + | phiên bản () | + ----------- + | 8.0.12 | + ----------- + 1 hàng trong bộ (0,00 giây) 

Trong điều này nếu bạn sử dụng utf8 thì bạn sẽ nhận được cảnh báo về bí danh vì nó có utf8mb4. Do đó, bạn có thể tránh cảnh báo bằng cách đặt utf8mb4.

Lưu ý :Không bao giờ sử dụng UTF8. Đối với các phiên bản hiện tại, hãy sử dụng UTF8MB4

Đây là cú pháp để chuyển đổi đầu ra của truy vấn MySQL thành UTF8:

 CHỌN yourColumnName1, chuyển đổi (yourColumnName2 SỬ DỤNG utf8) thành anyVariableName TỪ yourTableName; 

Bạn có thể sử dụng một cú pháp khác như sau:

 CHỌN yourColumnName1, CHUYỂN ĐỔI (CAST (yourColumnName2 as BINARY) USING utf8) làm anyVariableName FROM yourTableName; 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

 mysql> tạo bảng ConvertOutputtoUtf8Demo -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name varchar (20), -> Age int, -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng ( 0,79 giây) 

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:

 mysql> chèn vào giá trị ConvertOutputtoUtf8Demo (Tên, Tuổi) ('John', 24); Truy vấn OK, 1 hàng bị ảnh hưởng (0,78 giây) mysql> chèn vào giá trị ConvertOutputtoUtf8Demo (Tên, Tuổi) ('Larry', 21); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào giá trị ConvertOutputtoUtf8Demo (Tên, Tuổi) ('Carol', 26); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào ConvertOutputtoUtf8Demo (Tên, Tuổi) giá trị ('Mike', 27); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào giá trị ConvertOutputtoUtf8Demo (Tên, Tuổi) ('Sam', 22); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:

 mysql> select * từ ConvertOutputtoUtf8Demo; 

Sau đây là kết quả:

 + ---- + ------- + ------ + | Id | Tên | Tuổi | + ---- + ------- + ------ + | 1 | John | 24 || 2 | Larry | 21 || 3 | Carol | 26 || 4 | Mike | 27 || 5 | Sam | 22 | + ---- + ------- + ------ + 5 hàng trong bộ (0,00 giây) 

Đây là truy vấn để chuyển đổi đầu ra của truy vấn MySQL thành UTF8:

 mysql> chọn Id, chuyển đổi (Tên sử dụng utf8) thành ConvertToUtf8 từ ConvertOutputtoUtf8Demo; 

Sau đây là kết quả:

 + ---- + --------------- + | Id | ConvertToUtf8 | + ---- + --------------- + | 1 | John || 2 | Larry || 3 | Carol || 4 | Mike || 5 | Sam | + ---- + --------------- + 5 hàng được thiết lập, 1 cảnh báo (0,00 giây) 

Bạn có thể sử dụng một truy vấn khác như sau:

 mysql> CHỌN Id, CHUYỂN ĐỔI (CAST (Tên là BINARY) SỬ DỤNG utf8) làm ConvertToUtf8 TỪ ConvertOutputtoUtf8Demo; 

Sau đây là kết quả:

 + ---- + --------------- + | Id | ConvertToUtf8 | + ---- + --------------- + | 1 | John || 2 | Larry || 3 | Carol || 4 | Mike || 5 | Sam | + ---- + --------------- + 5 hàng được thiết lập, 1 cảnh báo (0,00 giây)