Bagaimana untuk menyelesaikan masalah sambungan php ke mysql

WBOY
Lepaskan: 2023-05-29 14:07:36
ke hadapan
1150 orang telah melayarinya

1. Sebab aksara bercelaru
Apabila menggunakan PHP untuk menyambung ke MySQL, jika set aksara MySQL tidak konsisten dengan set aksara PHP, aksara bercelaru akan muncul. Sebab khusus adalah seperti berikut:

  1. Set aksara MySQL dan set aksara PHP adalah tidak konsisten
    Set aksara lalai MySQL ialah UTF-8, manakala set aksara lalai PHP ialah ISO-8859- 1. Jika anda tidak menentukan set aksara dalam kod PHP anda, PHP akan menggunakan set aksara ISO-8859-1. Pada masa ini, jika data yang ditanya daripada MySQL mengandungi aksara UTF-8, aksara bercelaru akan muncul.

  2. Set aksara bagi jadual data MySQL tidak konsisten dengan set aksara pelayan MySQL
    Dalam MySQL, setiap jadual data mempunyai set aksara lalai. Jika set aksara jadual data tidak konsisten dengan set aksara pelayan MySQL, aksara bercelaru mungkin muncul.

  3. Cara PHP menyambung ke MySQL adalah salah
    Apabila menyambung ke MySQL, PHP mempunyai berbilang kaedah sambungan, seperti mysql_connect, mysqli_connect, PDO, dll. Kaedah sambungan yang berbeza akan menggunakan kaedah pengekodan yang berbeza Jika dipilih secara tidak betul, ia akan menyebabkan masalah kod bercelaru.

2. Selesaikan masalah kod bercelaru
Memandangkan sebab di atas, langkah-langkah berikut boleh diambil untuk menyelesaikan masalah kod bercelaru.

  1. Nyatakan set aksara untuk PHP
    Dalam kod PHP, selesaikan masalah aksara bercelaru dengan menyatakan set aksara. Anda boleh menggunakan kod berikut:

header('Content-Type:text/html;charset=utf-8');
Salin selepas log masuk
  1. Ubah suai set aksara lalai MySQL
    Anda boleh mengubah suai set aksara lalai MySQL dalam fail konfigurasi MySQL my. cnf. Buka fail, cari bahagian [mysqld] dan tambah kod berikut:

character-set-server=utf8
Salin selepas log masuk
  1. Ubah suai set aksara jadual data MySQL
    Anda boleh ubah suai jadual data melalui pernyataan berikut Set aksara:

ALTER TABLE {table_name} CONVERT TO CHARACTER SET utf8;
Salin selepas log masuk
  1. Ubah suai cara PHP menyambung ke MySQL
    Anda boleh menggunakan PDO untuk menyambung ke MySQL dan tentukan set aksara semasa menyambung, seperti berikut:

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'password');
Salin selepas log masuk

Jika anda menggunakan mysqli untuk menyambung ke MySQL, anda boleh menentukan set aksara melalui kod berikut:

$mysqli = mysqli_connect('localhost', 'root', 'password', 'test');
mysqli_set_charset($mysqli, 'utf8');
Salin selepas log masuk
  1. Simpan fail PHP dalam format pengekodan UTF-8
    Jika fail PHP anda mengandungi aksara Cina, anda mesti menyimpan fail dalam format pengekodan UTF-8 semasa menyimpan fail, jika tidak, aksara bercelaru akan muncul.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah sambungan php ke mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan