แก้ไขภาษาไทยเวลาค้นหาใน Mysql,แก้ไขปัญหาภาษาไทยเวลา search ภาษาไทย
201028 Jan
แก้ไขภาษาไทยเวลาค้นหาใน Mysql,แก้ไขปัญหาภาษาไทยเวลา search ภาษาไทย
บทความนี้เขียนขึ้นจากปัญหาการ search fulltext ภาษาไทย เมื่อทำการ
สร้าง query มาในการค้นเมื่อเรา้ค้นหาภาษาไทยก้อจะไม่พบผมก้อเลยลอง
ใช้คำสั่ง
CONVERT CONVERT( _utf8 '%$_POST[internship_company]%'
USING tis620 ) เพิ่มในส่วนของการ LIKE ใน fields นี้
เมื่อลอง Query แล้วก้อใช้ได้ปรกติในส่วนอื่นที่เกี่ยวกับอื่น ๆ ผมก้อ Set ตามนี้ไป
ผมใช้ ez.sql.php ซึ่งเป็น class สำหรับใช้กับ database เพิ่มส่วนนี้ลงไปในไฟล์นี้ก้อใช้งานได้ปรกติ
mysql_query("SET character_set_results=tis620",$this->dbh);
mysql_query("SET character_set_client='tis620'",$this->dbh);
mysql_query("SET character_set_connection='tis620'",$this->dbh);
mysql_query("collation_connection = tis620_thai_ci",$this->dbh);
mysql_query("collation_database = tis620_thai_ci",$this->dbh);
mysql_query("collation_server = tis620_thai_ci",$this->dbh);
อันนี้คือตัวอย่าง Query กับการใช้
CONVERT( _utf8 '%$_POST[internship_company]%'
USING tis620 )
แล้วเมื่อนำมาต่อกัน SQL query ก้อได้แบบนี้ก้อนำไปใช้ได้เลยก้อ search ภาษาไทยได้ปรกติ
อืมผมก้อแก้ๆกันไปใครมีวิธีที่ดีกว่าก้อแบ่งปันก้อหน่อยล่ะกันผมลองแล้วมันได้ก้อเลยมาใส่ไว้ในเวบ
เพื่อใครเจอะปัญหาแบบเดียวกันก้อลองนำไปใช้ดู
SELECT *
FROM `tbl_internship`
WHERE `internship_company` LIKE CONVERT( _utf8 '%$_POST[internship_company]%'
USING tis620 )
COLLATE tis620_thai_ci
LIMIT 0 , 30





Post new comment