ภาษาไทยกับ Ajax - ในเบสผม Set เป็น utf8_unidoce_ci ครับ
โค้ดของคุณ PlaKriM ยังใช้ไม่ได้อ่ะครับ
ส่งไปแล้วเป็นตัวว่า"��" อ่ะครับ
ลองecho ดูแล้ว
ในหน้าที่รับค่า ผมเพิ่ม header("Content-Type: text/html; charset=UTF-8"); ไว้น่ะครับ
ผมทำขั้นตอนไหนผิดไป
Date :
2009-02-24 14:33:00
By :
nutkit
เปลี่ยนเป็นheader("Content-Type: text/html; charset=TIS-620");
ภาษาที่Queryออกมาจะยึกยือครับ
แต่คำว่าการที่ส่งไป จะได้เป็นคำว่าการถูกต้อง
เกี่ยวไหมครับว่า ถ้าผมดูข้อมูลในเบสโดยตรง มันจะเป็นภาษายึกยืออยู่ ผมลืมSet อะไรรึเปล่า
Date :
2009-02-25 10:54:52
By :
nutkit
มีผู้รู้ไหมครับ.. ยังติดอยู่เลยอ่ะ
Date :
2009-02-26 15:41:36
By :
nutkit
ลองทำตาม rep 2 ดูนะครับ iconv ตอนบันทึก ตอนดึงมาใช้ header tis620 นะครับ
Date :
2009-02-27 13:15:18
By :
pjgunner
ได้แล้วคร้าบ ขอบคุณมาก
Date :
2009-03-02 14:55:49
By :
nutkit
ทำไงอ่ะครับ เด็กรุ่นหลังอยากรู้ด้วยจังเยย
แบบว่าติดเหมือนกันคับ
Date :
2009-06-22 15:22:16
By :
tobmedical
ก่อนจะเอาลงฐานทำการ case ก่อนด้วยคำสั่ง
<?php
$db->query("SET NAMES tis620");
?>
Date :
2009-06-23 14:31:30
By :
tuanau
ผมว่า ทำตาม คห. 1 ก็น่าจะได้แล้วอะ
Date :
2009-06-23 15:06:53
By :
danya
ถ้ารู้กันอยู่แล้วก็ไม่เป็นไรครับ ขออภัยด้วย
ทำเอกสารไฟล์เป็น UTF-8 ที่ตัว Editor จะมีคำสั่งนี้อยู่ ลอง Save เอกสาร ให้เป็นแบบ UTF-8 ด้วยก็ดีนะครับ
เช่นใน Editplus จะมีคำสั่ง เมนู Document > Reload As > เลือก UTF-8
ปกติ เอกสารจะเป็น ANSI ครับ
ใน Dreamweaver หรือ Eclipse ก็มีคำสั่งนี้เช่นกัน น่าจะเป็น Encodeing
Date :
2009-06-23 15:46:34
By :
sirikulo
รบกวนพี่ช่วยชี้แนะด้วยคะ
จะต้องเขียนโค้ดแก้ปัญหาอย่างไรคะ
Code (PHP)
<?
header("Content-type:text/html; charset=UTF-8");
//header("Content-type: text/xml; charset=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","0746186") or die("error".mysql_error());
mysql_select_db("servicehr",$link);
mysql_query("set character set utf8");
$q = urldecode($_GET["q"]);
$pagesize = 50; // จำนวนรายการที่ต้องการแสดง
$table_db="funprogram"; // ตารางที่ต้องการค้นหา
$find_field="DescripPro"; // ฟิลที่ต้องการค้นหา
$sql = "select * from $table_db where 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["ProgramsId"]; // ฟิลที่ต้องการส่งค่ากลับ
$name = ucwords( strtolower( $row["DescripPro"] ) ); // ฟิลที่ต้องการแสดงค่า
// ป้องกันเครื่องหมาย '
$name = str_replace("'", "'", $name);
// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
$display_name = preg_replace("/(".$q.")/i", "<b>$1</b>", $name);
echo "<li onselect=\"this.setText('$name').setValue('$id');\">$display_name</li>";
}
mysql_close();
?>
Date :
2011-05-15 15:15:47
By :
rotesin
ขอเพิ่มความคิดเห็นครับ แก้มาหลายอย่าง เพิ่ม
$test= iconv('utf-8', 'tis-620', $_GET['test']);
หายเลยครับ ขอบคุณครับ
Date :
2017-02-08 07:45:42
By :
nimitr
ทำทุกอย่างให้เป็น utf8
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
Save as->Encoding: UTF-8
Database:
collation: uft_general_ci
Table->COLLATE='utf8_general_ci'
php connect->db
charset: utf8
Date :
2017-02-08 08:47:02
By :
fossil31
Load balance : Server 02