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

Karakter khusus di PHP / MySQL

Saya hanya ingin memberikan beberapa detail lebih lanjut tentang solusi yang diusulkan oleh vartec yang (bergantung pada instalasi MySQL Anda) solusi paling tepat untuk masalah Anda. Pertama-tama, masalah set karakter / penyandian di MySQL adalah subjek yang agak rumit yang secara luas tercakup dalam manual MySQL Bab 9.1 "Dukungan Kumpulan Karakter" . Dalam kasus Anda terutama 9.1.4. "Kumpulan dan Kumpulan Karakter Koneksi" akan menjadi yang paling relevan.

Singkatnya:MySQL harus mengetahui set karakter/enkode aplikasi klien Anda (berbicara dari perspektif basis data yang merupakan skrip PHP Anda) yang diharapkan karena akan mentranskode semua data string dari set karakter internal/enkode yang ditentukan di server-, database-, tabel- atau kolom-tingkat ke dalam set karakter koneksi / encoding. Anda menggunakan UTF-8 di sisi klien jadi harus memberi tahu MySQL bahwa Anda menggunakan UTF-8. Ini dilakukan dengan perintah MySQL SET NAMES 'utf8' yang harus dikirim sebagai kueri pertama saat membuka koneksi. Bergantung pada instalasi Anda dan pada pustaka klien MySQL yang Anda gunakan dalam skrip PHP, ini dapat dilakukan secara otomatis pada setiap koneksi.

Jika Anda menggunakan PDO, itu hanya masalah pengaturan parameter konfigurasi

$db = new PDO($dsn, $user, $password);
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");

Menggunakan mysqli mengubah set karakter klien / encoding bahkan lebih sederhana:

$mysqli = new mysqli("localhost", "user", "password", "db");
$mysqli->set_charset("utf8");

Saya harap itu akan membantu membuat semuanya lebih dimengerti.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wizard Kerangka Entitas lumpuh di MySQL

  2. Mengapa MySQL melaporkan kesalahan sintaks pada FULL OUTER JOIN?

  3. Kesalahan fatal:Pengecualian yang tidak tertangkap 'mysqli_sql_exception' dengan pesan 'Tidak ada indeks yang digunakan dalam kueri/pernyataan yang disiapkan'

  4. MySQL – Perbaiki – Kesalahan – Kata Sandi Anda Tidak Memenuhi Persyaratan Kebijakan Saat Ini

  5. 5 Kursus Online Terbaik untuk Belajar MySQL