Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Masalah penyandian PDO UTF-8?

Ini:

$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');

sama sekali tidak ada gunanya. Lihat http://php.net/manual/en/ref.pdo- mysql.php . MYSQL_ATTR_INIT_COMMAND dijalankan tepat setelah koneksi dibuat, paling lambat. Jika Anda menyetel ini pada objek PDO yang sudah dibuat sepenuhnya, itu sudah terlambat dan tidak akan pernah dijalankan. Anda harus meneruskannya ke konstruktor:

new PDO(..., ..., ..., array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'))

Atau, jika versi PHP Anda mendukungnya, tambahkan charset=utf8 ke DSN.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO bind_param adalah metode yang tidak ditentukan

  2. SQL Query untuk mendapatkan Jumlah semua nilai kolom di baris terakhir dari resultet bersama dengan jumlah baris (grup menurut)

  3. Layanan MySQL57 di Komputer Lokal dimulai dan kemudian berhenti

  4. PHP untuk menyimpan gambar di MySQL atau tidak?

  5. #1111 - Penggunaan fungsi grup tidak valid