Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP:sự cố xuất ra utf8 từ cơ sở dữ liệu MySQL bằng PDO

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ọ. Đặt mb_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ới SET 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" .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về TIME () - MySQL

  2. Truy vấn SQL để bao gồm thẻ WooC Commerce cụ thể

  3. MySQL cho phép sai các mục nhập trùng lặp khi một trong các trường liên quan là NULL

  4. Tôi có thể chuyển đổi ký tự utf8 này không?

  5. Sử dụng từ khóa SQL trong tiêu đề của bảng hoặc cột