A-AA+then

Ajax ค้นหาข้อมูลภาษาไทยจากฐานข้อมูล Mysql ไม่เจอ

2,238
ผมลองทำระบบค้นหาข้อมูลโดยใช้ Ajax ช่วยนะครับ

ทดลองกับฐานข้อมูลไม่ใหญ่มาก จะใช้เหตุการณ์ KeyUP นะครับ

คือเมื่อพิมพ์ข้อความที่ต้องการค้นหาลงในเท็กซ์ ระบบก็จะทำการประมวลผลข้อมูลที่เกี่ยวข้องออกมาเลยในทันที

ภาษาอังกฤษ และตัวเลขนั้น ไม่มีปัญหาครับ ลองเคาะเว้นช่องว่าง ก็ได้เช่นกัน

แต่ปัญหาก็คือ ทอสอบกับภาษาไทยแล้วมันไม่ได้ครับ

โค้ดของฟอร์มที่ใช้ค้นหา *************************
<form action="" name="frm1">
<input name="txtDream" type="text" size="30" onKeyUp="select_Dream();return false;">
</form>

โค้ดในส่วนของ Ajax ครับ *******************
function select_Dream(){
    var result;
    var strTxt=document.frm1.txtDream.value;
    var url = 'Dream.php?value1=' +strTxt ;   
   //alert(url);
    xmlhttp = uzXmlHttp();
    xmlhttp.open("POST", url, false);
    xmlhttp.send(null);
    document.getElementById('result').innerHTML =  xmlhttp.responseText;

โค้ดส่วนของไฟล์ php ครับ *************
$sql="SELECT * FROM dream Where Mean  like '%".$value1."%'";


งมมาหลายวันแล้วครับ ใช้ฟังก์ชั่นต่าง ๆ นา ๆ ช่วยในการส่ง และรับ แต่ก็ยังไม่ได้อยู่ดี

ยังไงก็รบกวนด้วยนะครับ ไม่รู้จะไปพึ่งใครแล้ว

ขอบคุณล่วงหน้าครับ

4 ความคิดเห็น

ตรวจสอบเรื่อง UTF-8 กับ TIS620 ครับ ...
ตอนแรกลอง echo ข้อมูลที่อยู่ใน txtDream ดูก่อนว่าถ้าพิมพ์เป็นภาษาไทยแล้วมันจะออกมาเป็นตัวแบบใหน....

Ajax ทำงานได้ดีกับ UTF-8 เพราะฉะนั้นลองดูทุกจุดที่เกี่ยวข้อง โดยเฉพาะรูปแบบในการเซฟไฟล์ก็ต้องเป็น UTF-8 ด้วย 
1

มันก็ได้ปรกตินะครับ ผมลอง echo $sql; ดูแล้ว ก็ได้ผลออกมาถูกต้อง

แต่ทำไมมันถึง Select ข้อมูลมาไม่ได้ ไม่เจอ
2

มีตัวอย่างบนเว็บนะครับ

อย่างแรก ทดสอบว่า สามารถส่ง และรับ ค่าภาษาไทยกลับมาแสดงผล ได้อย่างถูกต้อง หรือเปล่า

อันดับสอง ลองเรียกหน้าค้นหาดู (php) แล้วดูว่าผลลัพท์ เป็นไปตามที่ต้องการหรือไม่

ถ้าทั้ง 2 กรณีสามารถทำงานได้ ที่ผิดมักจะแยู่กับ ภาษา หรือ cache ครับ

คำตอบของทุกปัญหามีอยู่บนเว็บนี้ครับ ลองค้นหาดูครับ
3

ขอบคุณครับ
4
^