พี่ครับช่วยดู code Ajax AUTOCOMPLETE ให้ผมทีครับมันมีปัญหากับภาษาไทยครับใช้ ICONV() แล้วก็ยังไม่หายครับเวลา uploadข้อมูลขึ้น server
ผมรันที่เครื่องผมภาษาใทยไม่มีปัญหาครับแต่พอเวลา upload ขึ้น server แล้วมีปัญหาครับคือภาษาที่ ajax ทำการ QUERY ออกมาจากฐานข้อมูลแล้วมันเป็นภาษาต่างด้าวอะครับ
อันนี้ code หน้าฟอทที่ส่งไปครับ
Code (PHP)
<form id="form1" name="form1" method="post" action="addfriends_std.php?id=<?= $code_std;?>&grp=<?= $code_group;?>" onsubmit="return friends(this.form)" >
<strong>ชื่อ-นามสกุล : </strong>
<input name="show_arti_topic" type="text" id="show_arti_topic" size="50" />
<input name="h_arti_id" type="hidden" id="h_arti_id" value="" />
<button type="submit"class="positive" name="button">
<img src="../images/admin/VER2/24x24/add.png" alt="" width="24" height="24" align="top"/><b>เพิ่มข้อมูล </b>
</button>
</form>
<script type="text/javascript">
function make_autocom(autoObj,showObj){
var mkAutoObj=autoObj;
var mkSerValObj=showObj;
new Autocomplete(mkAutoObj, function() {
this.setValue = function(id) {
document.getElementById(mkSerValObj).value = id;
}
if ( this.isModified )
this.setValue("");
if ( this.value.length < 1 && this.isNotClick )
return ;
return "../ajax/gdata.php?grp=<?=$code_group?>"+"&q=" +encodeURIComponent(this.value); });
}
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("show_arti_topic","h_arti_id");
</script>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
อันนี้โค๊ดหน้ารับข้อมูลที่ส่งมาครับ gdata.php
Code (PHP)
<?php
define ('XAJAX_DEFAULT_CHAR_ENCODING','TIS-620');
//header("Cache-Control: no-store, no-cache, must-revalidate");
//header("Cache-Control: post-check=0, pre-check=0", false);
// เชื่อมต่อฐานข้อมูล
$link=mysql_connect("localhost","root","123456") or die("error".mysql_error());
mysql_select_db("project",$link);
mysql_query("set character set utf8");
$q = urldecode($_GET["q"]);
$group_id=urldecode($_GET["grp"]);
$conditgrp="";
$pagesize = 100; // จำนวนรายการที่ต้องการแสดง
$table_db="ajaxque"; // ตารางที่ต้องการค้นหา
$find_field="name"; // ฟิลที่ต้องการค้นหา
if(!empty($group_id))
{
$conditgrp=" grp='".$group_id."' AND ";
}
$sql = "select * from $table_db where $conditgrp locate('$q', $find_field) > 0 order by locate('$q', $find_field), $find_field limit $pagesize";
$results = mysql_query($sql);
while ($row = mysql_fetch_array($results )) {
$id = $row["code"]; // ฟิลที่ต้องการส่งค่ากลับ
$name = ucwords( strtolower( $row["name"] ) ); // ฟิลที่ต้องการแสดงค่า
// ป้องกันเครื่องหมาย '
$name = str_replace("'", "'", $name);
// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
$display_name = preg_replace("/(" . $q . ")/i", "<font color=red><b>$1</b></font>", $name);
echo "<li onselect=\"this.setText('$name').setValue('$id');\">$display_name</li>";
}
mysql_close();
?>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
เวลารันที่เครื่องผมมันปตกตามรูปภาพนะครับแต่เวลาเอาขึ้น server แล้วมันเป็นภาษาต่างด้าวครับผมงงเลย เดี่ญวจะ อัฟโหลดรูปให้ดูนะครับ
***********เวลารันที่เครื่องผมครับ************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*********เวลารันที่เครื่อง server ครับ********
**ปลเครื่องผม ใช้ WINDOWS 7
**เครื่อง server XP ธรรมดาครับ
พี่ช่วยดูให้ผมหน่อยนะครับขอขอบคุณมากครับTag : PHP, MySQL
ประวัติการแก้ไข 2011-10-10 09:46:34
Date :
2011-10-10 09:31:40
By :
ศราวุธ007
View :
1839
Reply :
6
ลองแบบนี้ดูนะครับแต่ปกติที่พี่วินบอกก็น่าจะได้แล้ว
Code (PHP)
header("Content-Type:test/plain;charset=tis-620")
Date :
2011-10-10 13:27:53
By :
namebom
header("Content-Type:test/plain;charset=tis620")
ก็ยังไม่หายเลยอะครับ
พอใส่อันนี้เข้าไปมันไม่ query อะไรออกมาเลย
ของคุณมากครับผมว่าต้องลองทำตามที่พี่วินบอกอีกที
พี่ช่วยอธิบายให้ผมฟังหน่อยนะครับว่าเพราะอะไรเวลาเราเขียนที่เครื่องเราหนะมันออกเป็นภาษาไทยหมดแต่เวลาที่เรา opload ขึ้น server แล้วมันเป็นฟ้อนต่างด้าวทั้งๆที่โค็ดทุกอย่างเหมือนกันหมดเลยอะครับ..ผมงง
Date :
2011-10-10 13:42:10
By :
ศราวุธ007
ขอบคุณทุกท่าน สำหรับคำตอบนะครับ ^^
Date :
2012-01-31 20:56:13
By :
cit
Load balance : Server 02