PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

ช่วยหน่อยคับ เรื่อง autocomplete ภาษาไทย หมดปัญญาแล้ว ขอบคุณคับ

ช่วยหน่อยคับ เรื่อง autocomplete ภาษาไทย หมดปัญญาแล้ว ขอบคุณคับ

ตามภาพเลยคับ

ปัญหาคือเวลาที่เครื่อง PC ธรรมดา จำลอง server เอามันได้คับ

แต่ทำไม่กอปไป server จิง มันเป็นดังภาพคับ ทั้งๆที่ code เหมื่อนกันหมดทุกอย่าง datebase mysql charecter ก็เซตเหมือนกันทุกอย่าง ช่วยดูให้หน่อยคับงงจิงๆ ขอบคุณล่วงหน้านะคับผม 

code ของ ผม

<?
include ("config_password.php");
?>
<script type="text/javascript" src="autocomplete.js"></script> 
<link rel="stylesheet" href="autocomplete.css"  type="text/css"/> 
<?php  
// เชื่อมต่อฐานข้อมูล  
$link=mysql_connect("localhost","root","$config_password") or die("error".mysql_error());   
mysql_query("set character set tis620"); 
mysql_select_db("petition_legal",$link);  
 

$q=(isset($_POST["q"])) ? $_POST["q"] : $_GET["q"];
$q = iconv('UTF-8','TIS-620',$q); //แปลงจาก UTF8 เป็น TIS620

$pagesize = 50; // จำนวนรายการที่ต้องการแสดง  
$table_db="contactperson"; // ตารางที่ต้องการค้นหา  
$find_field="idcard"; // ฟิลที่ต้องการค้นหา   

$sql = "select x.*,y.name from $table_db x  LEFT JOIN title y ON y.tid = x.title where locate('$q', x.$find_field) > 0 order by locate('$q', x.$find_field), x.$find_field limit $pagesize";  
$results = mysql_query($sql);  
while ($row = mysql_fetch_array( $results )) {  
    $id = $row["conperid"]; // ฟิลที่ต้องการส่งค่ากลับ  
    $name = ucwords( strtolower( $row["idcard"] ) ); // ฟิลที่ต้องการแสดงค่า
 $name_1 = ucwords( strtolower( $row["cfname"] ) ); // ฟิลที่ต้องการแสดงค่า    
 $name_2 = ucwords( strtolower( $row["clname"] ) ); // ฟิลที่ต้องการแสดงค่า    
 $title_2 = ucwords( strtolower( $row["name"] ) ); // ฟิลที่ต้องการแสดงค่า  
    // ป้องกันเครื่องหมาย '  
    $name = str_replace("'", "'", $name);
 $name_1 = str_replace("'", "'", $name_1);    
    // กำหนดตัวหนาให้กับคำที่มีการพิมพ์  
    $display_name = preg_replace("/(" . $q . ")/i", "<font color=red><b>$1</b></font>", $name);  
 //--------------------------------------แปลงกลับจาก tis620->utf8----------------------------------------------//
 $name = iconv('TIS-620', 'UTF-8', $name);
 $id = iconv('TIS-620', 'UTF-8', $id);
 $display_name = iconv('TIS-620', 'UTF-8', $display_name);
 $title_2 = iconv('TIS-620', 'UTF-8', $title_2);
 $name_1 = iconv('TIS-620', 'UTF-8', $name_1);
 $name_2 = iconv('TIS-620', 'UTF-8', $name_2);
 
    echo "<li onselect="this.setText('$name').setValue('$id');">$display_name  ==> $title_2$name_1    $name_2</li>";   //
}  
mysql_close();  
?> 
 



โดย:  Iammaipnch IP: 125.25.112.xxx วันที่: 03-02-2010 เวลา: 10:54:01

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 2

 ยังไม่สามารถแก้ปัญหาภาษาไทยได้เลยค่ะ  ส่วนมากจะเป็นตัวหน้าที่เป็นตัวอักษรเพี้ยน  แต่หลังจากนั้นก้อเป็นคำไทยปกติค่ะ



โดย:  ด.ญ. กัญจนี IP: 115.87.233.xxx วันที่: 14-05-2011 เวลา: 22:20:34
 ความคิดเห็นที่ 1

 ให้ลองใส่ บรรทัดข้างล่างนี้ไว้บนสุดของไฟล์ php

<?php  
header("Content-type:text/html; charset=tis-620");    // หรือ UTF-8
// php code  //  
?>  
 
ทดสอบโดยเรียก path ไฟล์โดยตรงผ่านบราวเซอร์ เช่น ถ้าไฟล์เป็น gdata.php
ให้ลองเรียกไฟล์ผ่าน http://www.yourdomain.com/gdata.php?q=1 
1 คือค่าที่ส่งไปทดสอบ
แล้วให้สังเกต การแสดงผลว่า แสดงภาษาไทยได้หรือไม่ ถ้ายังไม่ได้
ให้ค่อยลองปรับต่าต่างๆ ดู เช่น จาก charset=tis-620 เป็น charset=UTF-8 เป็นต้น
 
 
จากโค้ดตัวอย่าง ไม่แน่ใจว่าใส่ไฟล์ javascritpt กับ css ไฟล์ ไว้ในไฟล์ php ด้วยไหม
ถ้ามีให้ตัดออก แล้วนำไปใส่ไว้ที่ไฟล์หลัก (ไฟล์ตามรูป)


โดย:  Ninenik IP: 124.120.162.xxx วันที่: 03-02-2010