Có nhiều điểm lỗi khi làm việc với UTF8:
-
đảm bảo rằng bảng là utf8
Sử dụng SQL-Command
Show Variables;
để kiểm tra cài đặt ký tự MySQL cho bảng. -
dữ liệu được chèn là utf8
Bạn có thể thử các công cụ như phpMyAdminer hoặc Adminer để kiểm tra xem dữ liệu
có được chèn chính xác hay không. Cố gắng chèn dữ liệu thông qua công cụ theo cách thủ công. Khi chèn thông qua tập lệnh, không sử dụng các hàm chuỗi cơ bản. Luôn sử dụng mbstringalternatives của họ. Đặtmb_internal_encoding( 'UTF-8' );
để cho phép PHP xử lý UTF-8 nội bộ. -
dữ liệu đã tìm nạp là utf8
Tôi sẽ chỉ sử dụng
$pdo->exec("SET NAMES utf8");
và thả phần còn lại. VìSET NAMES x
tương đương vớiSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;
-
dữ liệu được hiển thị là utf8
Nếu điều này được hiển thị trong trang html, đừng quên đặt thẻ meta hoặc tiêu đề
"Content-Type: text/html; charset=utf-8"
.