|
เนื่องจาก MySQL5 เองค่อนข้างมีการจัดการกับตัวอักขระที่ชัดเจนขึ้น ดังนั้นผู้ใช้งานอาจจะต้องทำการปรับเปลี่ยนการเขียน code ในรูปแบบเก่า ๆ ที่ไม่ค่อยเจาะจงเรื่องของภาษาและการเรียงลำดับครับ ที่นี้เรามาดูวิธีการแก้ไขปัญหาสำหรับ code รูปแบบเก่า ๆ ง่าย ๆ ได้ดังนี้ครับ
ภายหลังจากที่ทำการสร้าง object สำหรับติดต่อฐานข้อมูลเสร็จ ก็ทำการแทรกคำสั่งกำหนดภาษาเข้าไปดังนี้ครับ
mysql_db_query('ชื่อฐานข้อมูล',"SET NAMES tis620"); //แล้วแต่ charset ที่ต้องการนะครับ
หรือหากเราจะเลือกกำหนดให้กับแต่ละ result ที่ได้ ก็สามารถทำได้ดังนี้ครับ
$cs1 = "SET character_set_results=tis620";
mysql_query($cs1) or die('Error query: ' . mysql_error());
$cs2 = "SET character_set_client = tis620";
mysql_query($cs2) or die('Error query: ' . mysql_error());
$cs3 = "SET character_set_connection = tis620";
mysql_query($cs3) or die('Error query: ' . mysql_error());
ก็คือไม่ว่า code เก่าจะเป็นอย่างไร ถ้าเรารู้ภาษาที่ใช้ และการเรียงลำดับที่ใช้ เราก็สามารถแก้ไขให้มันแสดงผลได้ถูกต้องโดยอาศัยการ set ค่าการแสดงผลนี่แหละครับ หลักการของ MySQL ก็คือ ทุกกระบวนการควรจะมีการกำหนด charset เพื่อให้ทำงานได้ถูกต้องครับ เช่น การสร้างฐานข้อมูล การสร้างตาราง การติดต่อฐานข้อมูล การสร้างฟิลด์ต่าง ๆ ครับ
บทความโดย : ณัฐธัญ เตชะกาญจนวงศ์
Webdesign Article : |