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

เริ่มโดย nay-banana, 08 มกราคม 2010, 11:50:56

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

nay-banana

 :wanwan044: :wanwan044: :wanwan016: :wanwan016: :wanwan016: :wanwan005: :wanwan005: :wanwan005:

ผมลองทำระบบค้นหาข้อมูลโดยใช้ 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."%'";


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

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

ขอบคุณล่วงหน้าครับ
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

dimeoxide

น่าจะเป็น collection ในตาราง + ต้องมี mysql_query("SET NAMES UTF8") ตอนเปิด connection

Dr.K

เคยเจอปัญหาเหมือนกัน เพราะ ajax ต้องเรียกไทยแบบ utf โดยตรงเลย ไม่งั้นก็ต้องแปลงเอา
แบบนี้ครับ
http://search.thaihealth.net/search.php
เดี๋ยวไปค้นตัวแปลงโค๊ดมาให้ก่อน ลืมแล้ว (ทำไว้ปีนึงแล้วครับ)
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

Reality

ตอนส่ง ajax ได้บีบ content type ให้เป็น utf-8 ด้วยรึเปล่าครับ (หรือ tis-620)
*You walk right into reality, While my heart's still wild and free.. 

[direct=http://midnightadventure.net]Midnight Adventure[/direct]

nay-banana

อ้างถึงจาก: Luscentz ใน 08 มกราคม 2010, 12:56:29
ตอนส่ง ajax ได้บีบ content type ให้เป็น utf-8 ด้วยรึเปล่าครับ (หรือ tis-620)

ตามโค้ดเลยครับ ผมก็หาตัวแปลงหลายอย่างแล้ว แต่...........ไม่รู้ว่ามันติดอะไรตรงไหน

มีโค้ด ขอโค้ดเลยนะครับ........... :P :P :P
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

Rapid-Developer

ลองเช็คดูครับว่า Fields ใน Database นั้นเป็น UTF-8 หรือเปล่า
และดูว่า File ที่ใช้ในการ Search นั้น เนื้อ File จริงๆ Save เป็น UTF-8 หรือ Window-874, Tis-629 เพราะผมเคยปัญหานี้เหมือนกัน ถึงแม้จะกดหนด Meta ให้เป็น UTF-8 ก็ไม่หายจนมาดูที่เนื้อ File
--

nay-banana

อ้างถึงจาก: Rapid-Developer ใน 08 มกราคม 2010, 14:39:41
ลองเช็คดูครับว่า Fields ใน Database นั้นเป็น UTF-8 หรือเปล่า
และดูว่า File ที่ใช้ในการ Search นั้น เนื้อ File จริงๆ Save เป็น UTF-8 หรือ Window-874, Tis-629 เพราะผมเคยปัญหานี้เหมือนกัน ถึงแม้จะกดหนด Meta ให้เป็น UTF-8 ก็ไม่หายจนมาดูที่เนื้อ File

ขอบคุณครับ ขอลองดูก่อนนะครับ แล้วจะมารายงานผลให้ได้ทราบ

:'( :'( :'(
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

nay-banana

อ้างถึงจาก: nay-banana ใน 08 มกราคม 2010, 14:53:21
อ้างถึงจาก: Rapid-Developer ใน 08 มกราคม 2010, 14:39:41
ลองเช็คดูครับว่า Fields ใน Database นั้นเป็น UTF-8 หรือเปล่า
และดูว่า File ที่ใช้ในการ Search นั้น เนื้อ File จริงๆ Save เป็น UTF-8 หรือ Window-874, Tis-629 เพราะผมเคยปัญหานี้เหมือนกัน ถึงแม้จะกดหนด Meta ให้เป็น UTF-8 ก็ไม่หายจนมาดูที่เนื้อ File

ขอบคุณครับ ขอลองดูก่อนนะครับ แล้วจะมารายงานผลให้ได้ทราบ

:'( :'( :'(

ว่าแต่วิธีดู ว่า Fields ใน Database นั้นเป็น UTF-8 หรือเปล่านั้น ดูตรงไหน อย่างไรหรอครับ

แล้วถ้ามันไม่เป็นตามนี้ ต้องเซ็ตค่ามันอย่างไรครับ
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

nay-banana

อ้างถึงจาก: Dr.K ใน 08 มกราคม 2010, 12:47:05
เคยเจอปัญหาเหมือนกัน เพราะ ajax ต้องเรียกไทยแบบ utf โดยตรงเลย ไม่งั้นก็ต้องแปลงเอา
แบบนี้ครับ
http://search.thaihealth.net/search.php
เดี๋ยวไปค้นตัวแปลงโค๊ดมาให้ก่อน ลืมแล้ว (ทำไว้ปีนึงแล้วครับ)

รออย่างมีความหวัง รบกวนด้วยนะครับ

:wanwan016: :wanwan016: :wanwan016: :wanwan016:
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

nay-banana

อ้างถึงจาก: nay-banana ใน 08 มกราคม 2010, 14:53:21
อ้างถึงจาก: Rapid-Developer ใน 08 มกราคม 2010, 14:39:41
ลองเช็คดูครับว่า Fields ใน Database นั้นเป็น UTF-8 หรือเปล่า
และดูว่า File ที่ใช้ในการ Search นั้น เนื้อ File จริงๆ Save เป็น UTF-8 หรือ Window-874, Tis-629 เพราะผมเคยปัญหานี้เหมือนกัน ถึงแม้จะกดหนด Meta ให้เป็น UTF-8 ก็ไม่หายจนมาดูที่เนื้อ File

ขอบคุณครับ ขอลองดูก่อนนะครับ แล้วจะมารายงานผลให้ได้ทราบ

:'( :'( :'(

เปิดโน๊ดเพด แล้วก็ บันทึกเป็น ใช่ไหมครับ

ผมทำหมดแล้ว แต่ก็ยังไม่ได้อยู่ดีครับ สงสัยคงต้องเปลี่ยนแผนแล้่วหล่ะแบบนี้

:P :P :P :P
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

beg

ลองกับ FF หรือ IE ครับ

ถ้า FF ได้ แต่ IE ไม่ได้ ให้ใช้คำสั่ง iconv แปลง query เป็น UTF-8 อีกที เพราะ ajax ใน IE จะส่งค่าต่างๆในภาษาไทยเป็น TIS-620  เท่านั้น

nay-banana

อ้างถึงจาก: beg ใน 08 มกราคม 2010, 22:51:44
ลองกับ FF หรือ IE ครับ

ถ้า FF ได้ แต่ IE ไม่ได้ ให้ใช้คำสั่ง iconv แปลง query เป็น UTF-8 อีกที เพราะ ajax ใน IE จะส่งค่าต่างๆในภาษาไทยเป็น TIS-620  เท่านั้น

ผมใช้ Firefox ครับ เดี๋ยวขอลอง iconv ก่อนนะครับ

ขอให้ได้ทีเถอะ.................

:wanwan011: :wanwan011: :wanwan011:
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

nay-banana

อ้างถึงจาก: nay-banana ใน 09 มกราคม 2010, 08:14:25
อ้างถึงจาก: beg ใน 08 มกราคม 2010, 22:51:44
ลองกับ FF หรือ IE ครับ

ถ้า FF ได้ แต่ IE ไม่ได้ ให้ใช้คำสั่ง iconv แปลง query เป็น UTF-8 อีกที เพราะ ajax ใน IE จะส่งค่าต่างๆในภาษาไทยเป็น TIS-620  เท่านั้น

ผมใช้ Firefox ครับ เดี๋ยวขอลอง iconv ก่อนนะครับ

ขอให้ได้ทีเถอะ.................

:wanwan011: :wanwan011: :wanwan011:

ทดสอบมาแล้วครับ สรุปว่ายังไม่ได้อยู่ดี

ยังไงก็ขอบคุณทุก ๆ ท่านนะครับ สงสัยต้องเปลี่ยนไปใช้อย่างอื่นแทนแล้วหล่ะครับ

:-X :-X :-X
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]

anonymous

เปลี่ยนให้เป็น utf-8 ทั้งหมดเลย ทั้งข้อมูลและ เว็ป แน่นอนที่สุด วิธีอื่นๆ ไม่แน่นอนครับแล้วแต่โฮสด้วย บางทีได้บางทีไม่ได้

nay-banana

 :'( :'( :'( :'(

รายงานผลครับ ล่าสุดได้แล้วครับ

$keyword = iconv("UTF-8","TIS-620",$value1);
$sql="SELECT * FROM dream Where Mean like '%{$keyword}%'";

ส่วนที่เพิ่มเติมเข้ามา ตามนี้เลยครับ

ขอบคุณความรู้ดี ๆ จาก http://goragod.g-th.com/index.php?module=forum/view&wbid=611

และขอบคุณทุก ๆ ท่าน ณ ที้นี้ด้วยครับ โอกาศหน้าจะมาใหม่

:wanwan017: :wanwan017: :wanwan017: :wanwan017:
[direct=http://www.xn--m3c0acqmi9g.com]สูตรหวย ดอทคอม[/direct]
[direct=http://www.xn--c3c2a0abyx1e9d.com]-_-[/direct]
[direct=http://www.code-father.com]PHP CODE FATHER[/direct]