เมื่อใช้ PHP 5 ค่าที่ได้รับจากการสืบค้น MySQL ทั้งหมดจะกลายเป็น '????????' ปรากฎว่าชุดอักขระถูกตั้งค่าผิด
เมื่อฉันติดตั้ง MySQL 5 ฉันเลือกชุดอักขระเริ่มต้นเป็น gb2312 แต่ยังคงส่งคืนอักขระที่อ่านไม่ออก วิธีแก้ไขคือการเรียกคำสั่ง "setname X" ที่เหมือนกับชุดอักขระที่ตั้งค่าหลังจากเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ( X คือชุดอักขระที่คุณตั้งค่าไว้) ด้านล่างนี้คือฟังก์ชันการเชื่อมต่อของฉัน:
function sql_connect() {
global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE;
$connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) หรือ startUpError('<p>ไม่สามารถเชื่อมต่อกับฐานข้อมูล MySQL ได้</p>','เชื่อมต่อ ข้อผิดพลาด');
ถ้า (!mysql_select_db($MYSQL_DATABASE))
-
รวม 'install.php';
ทำการติดตั้ง();
mysql_select_db($MYSQL_DATABASE) หรือ startUpError('<p>ไม่สามารถเลือกฐานข้อมูล: '. mysql_error().'</p>', 'เชื่อมต่อผิดพลาด');
-
sql_query('setnames "gb2312"'); //sql_query เป็นฟังก์ชันคิวรีการดำเนินการที่กำหนดเอง คีย์คือคำสั่งนี้
ส่งคืนการเชื่อมต่อ $;
-