|
|
|
ทำไมข้อมูลที่ถูกแปลงด้วย json_encode ไม่แสดงเป็นภาษาไทยมีวิธีแก้ไหมครบ |
|
|
|
|
|
|
|
เขียนเองแล้วใช้ iconv ช่วยเหมือนลิงค์ด้านบนครับ
วิธีเรียกใช้ก็ยัง array ให้ฟังก์ชั่นนั้นเหมือนที่คุณใช้ Services_JSON นั้นแหละครับ
|
|
|
|
|
Date :
2011-11-18 11:31:08 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่แน่ใจลองดูนะครับ
บรรทัด 23
$output[]=iconv("TIS-620","UTF-8" charset",$rs);
เปลี่ยนจาก tis-620 เป็น utf-8
|
|
|
|
|
Date :
2011-11-18 11:35:26 |
By :
grandraftz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$out = $input->encode($output);
function js_thai_encode($data)
|
|
|
|
|
Date :
2011-11-18 13:17:10 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSON UTF-8 Only !!!
|
|
|
|
|
Date :
2011-11-18 13:20:58 |
By :
kalamell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
method ใน class มันชื่อนึง คุณเรียกมันอีกชื่อนึง มันเลยหาไม่เจอครับ
|
|
|
|
|
Date :
2011-11-18 14:16:22 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณเอาฟังก์ชั่นของเขาไปใส่ไว้ใน class คุณก็ต้องเรียกใช้แบบนี้ครับ
<?php
require_once 'fn.php';
$json = array("text"=>"นี่คือภาษาไทย","number"=>1234);
$input = new thi_encode(); ///---------------------------ใช้ชื่อ class thi_encode ตาม function ที่มี
$out = $input->js_thai_encode($input);
echo($out);
?>
|
|
|
|
|
Date :
2011-11-18 14:57:25 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาใหม่ลืมดู
Code (PHP)
require_once 'fn.php';
$json = array("text"=>"นี่คือภาษาไทย","number"=>1234);
$input = new thi_encode();
$out = $input->js_thai_encode($json); //------------ ตรง( js_thai_encode) คืออะไรเหรอครับพี่ PlaKriM
echo($out);
fn.php นี่คือ No. 5 ใช่ไหม js_thai_encode คือ method ใน class thi_encode ครับ
|
|
|
|
|
Date :
2011-11-18 15:34:24 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืมม ดูแล้วมันแค่ convert encoding เฉยๆ เอา array ที่ได้ใส่ไปใน json_encode ของ php ดูครับ
|
|
|
|
|
Date :
2011-11-18 15:46:45 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไว้เดี๋ยวคืนนี้ดูให้ครับ
|
|
|
|
|
Date :
2011-11-18 17:19:08 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันก็ถูกแล้ว encode แล้วเป็นต่างด้าว
ต้องถามตัวเองก่อนเอา json มาทำอะไร
แล้วรู้ไหมว่า json มันย่อมาจากชื่อเต็มอะไร
เพราะถ้ารู้ชื่อเต็มแล้วจะรู้ว่า json มันไว้ทำอะไร อันนี้จริง
|
|
|
|
|
Date :
2011-11-18 22:04:55 |
By :
nagis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแบบนี้ดูได้ไหมครับ
ปล. ไฟล์ save as utf-8 ด้วยครับ
<?php
header ('Content-type: text/html; charset=utf-8');
class thi_encode
{
function js_thai_encode($data=array())
{
if (is_array($data))
{
foreach($data as $a => $b)
{
if (is_array($data[$a]))
{
$data[$a] = js_thai_encode($data[$a]);
}
}
}
return $data;
}
}
$json = array("text"=>"ทดสอบ","number"=>1234);
$input = new thi_encode();
$out = $input->js_thai_encode($json);
var_dump($out);
?>
ผลลัพธ์ที่ได้
|
ประวัติการแก้ไข 2011-11-19 14:48:51
|
|
|
|
Date :
2011-11-19 14:47:12 |
By :
kalamell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทุกอย่างต้องเป็น UTF8 ครับ
-charset=utf-8'
-Encoding-utf-8
-SET NAMES UTF8
|
|
|
|
|
Date :
2011-11-29 11:31:40 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|