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

Bookmark and Share
ช่วยหน่อยคับ เรื่อง 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 pnch_mai@hotmail.com IP: 125.25.112.xxx วันที่: 03-02-2010 เวลา: 10:54:01

เข้าสู่ระบบเพื่อตอบกระทู้ รหัสผ่าน ล็อกอินผ่าน Facebook คลิก

 ความคิดเห็นที่ 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 ninenik@gmail.com IP: 124.120.162.xxx วันที่: 03-02-2010 เวลา: 11:57:32




จำนวนผู้เยี่ยมชม 157925 คน 2010 © Copyright ninenik.com. All rights reserved.