Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ทำไมข้อมูลที่ถูกแปลงด้วย json_encode ไม่แสดงเป็นภาษาไทยมีวิธีแก้ไหมครบ



 

ทำไมข้อมูลที่ถูกแปลงด้วย json_encode ไม่แสดงเป็นภาษาไทยมีวิธีแก้ไหมครบ

 



Topic : 069253



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5



อยากทราบวิธีแก้ไขปัญหา json_encode อ่านภาษาไทยไม่ออกพอ เวลาแสดงผลจะเป็นภาษาต่างดาวครับ code ที่ผมใช้ต้องแก้หรือเพิ่มเติมในส่วนไหนบางครับ

Code (PHP)
<?php

require_once 'json.php';

$host="localhost";
$username="root";	
$password="1234";        
$db="info";       


mysql_connect( $host,$username,$password) or die ("??????????????????????????? ");

mysql_select_db($db) or die("????????????????????"); 



$json = new Services_JSON();
$q=mysql_query("SELECT * FROM news ");

while($rs=mysql_fetch_assoc($q)){


$output[]=$rs;


}

$out = $json->encode($output);
echo($out);

?>





Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-11-18 09:42:55 By : chonburi f.c View : 14606 Reply : 25
 

 

No. 1



โพสกระทู้ ( 545 )
บทความ ( 0 )



สถานะออฟไลน์


ลองดูอันนี้ครับ
http://blog.chonla.com/2010/03/json_encode-กับภาษาไทย/






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 10:37:25 By : grandraftz
 


 

No. 2



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 1 เขียนโดย : grandraftz เมื่อวันที่ 2011-11-18 10:37:25
รายละเอียดของการตอบ ::
ผมยังไม่ค่อยเข้าใจอะครับประมาณว่าเรียกใช้ยังหรือเขียนเข้าไปยังไง ประมาณนั้นอะครับลองทำดูแล้วก็เหมือนเดิม ขอบคุณมากน่ะครับสำหรับลิ้ง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 10:40:17 By : chonburi f.c
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เขียนเองแล้วใช้ iconv ช่วยเหมือนลิงค์ด้านบนครับ

วิธีเรียกใช้ก็ยัง array ให้ฟังก์ชั่นนั้นเหมือนที่คุณใช้ Services_JSON นั้นแหละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 11:31:08 By : ikikkok
 


 

No. 4



โพสกระทู้ ( 545 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่แน่ใจลองดูนะครับ
บรรทัด 23
$output[]=iconv("TIS-620","UTF-8" charset",$rs);

เปลี่ยนจาก tis-620 เป็น utf-8
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 11:35:26 By : grandraftz
 


 

No. 5



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 3 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 11:31:08
รายละเอียดของการตอบ ::
ผมได้ลองทำตามที่บอกแล้วมันเกิด error ครับไม่ทราบว่าผมเขียน code ถูกรึป่าวครับ
error
Fatal error: Call to undefined method thi_encode::encode() in



อันนี้ code ครับ
Code (PHP)
<?php

require_once 'fn.php';


$json = array("text"=>"นี่คือภาษาไทย","number"=>1234);
$input = new thi_encode();


$out = $input->encode($output);
echo($out);

?>



แล้วก็ไฟล์ fn.php
Code (PHP)
<? 

class thi_encode
{

function js_thai_encode($data)
{	// fix all thai elements
	if (is_array($data))
	{
		foreach($data as $a => $b)
		{
			if (is_array($data[$a]))
			{
				$data[$a] = js_thai_encode($data[$a]);
			}
			else
			{
				$data[$a] = iconv("tis-620","utf-8",$b);
			}
		}
	}
	else
	{
		$data =iconv("tis-620","utf-8",$data);
	}
	return $data;
}
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 13:08:07 By : chonburi f.c
 


 

No. 6



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


$out = $input->encode($output);
function js_thai_encode($data)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 13:17:10 By : ikikkok
 


 

No. 7



โพสกระทู้ ( 564 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

JSON UTF-8 Only !!!
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 13:20:58 By : kalamell
 


 

No. 8



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 6 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 13:17:10
รายละเอียดของการตอบ ::
ข้อมูลของพี่ PlaKriM แสดงรึป่าวครับทำไมของผมยังไม่ได้เลยทำเหมือนพี่ทุกอย่าง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 13:46:30 By : chonburi f.c
 


 

No. 9



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


method ใน class มันชื่อนึง คุณเรียกมันอีกชื่อนึง มันเลยหาไม่เจอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 14:16:22 By : ikikkok
 


 

No. 10



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 9 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 14:16:22
รายละเอียดของการตอบ ::
พี่ PlaKriM ช่วยอธิบายในส่วนของ code ให้เข้าใจทีได้ไหมครับผมละไม่เข้าใจพอดีสมองรันไม่ถูกแล้วฮะอยากรู้ว่าต้องเปลี่ยนค่าไหนบาง

Code (PHP)
<?php

require_once 'fn.php';


$json = array("text"=>"นี่คือภาษาไทย","number"=>1234);

$input = new thi_encode();  ///---------------------------ใช้ชื่อ class thi_encode ตาม function ที่มี 


function js_thai_encode($data) //////------------------------พี่ให้ผมเพิ่มตรงนี่เข้าไปเหรอครับ

$out = $input->encode($output);
echo($out);

?>


ขึ้น
Parse error: syntax error, unexpected T_ECHO, expecting '{'

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 14:48:56 By : chonburi f.c
 


 

No. 11



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


คุณเอาฟังก์ชั่นของเขาไปใส่ไว้ใน 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
 


 

No. 12



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 11 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 14:57:25
รายละเอียดของการตอบ ::
ยังติด error Parse error: syntax error, unexpected T_VARIABLE, expecting '{' in


Code (PHP)
<?php
require_once 'fn.php';
$json = array("text"=>"นี่คือภาษาไทย","number"=>1234);
$input = new thi_encode(); 
$out = $input->js_thai_encode($input);  //------------  ตรง( js_thai_encode) คืออะไรเหรอครับพี่  PlaKriM
echo($out);
?>






ประวัติการแก้ไข
2011-11-18 15:30:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 15:29:56 By : chonburi f.c
 


 

No. 13



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เอาใหม่ลืมดู

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
 


 

No. 14



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 13 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 15:34:24
รายละเอียดของการตอบ ::
ตอบไวมากครับพี่ขอบคุณมากเลยครับผม ข้อมูลทำไมมันขึ้นเป็น array ละครับพี่มันไม่ได้ออกเป็น ข้อมูลที่อยู่ใน $json เหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 15:41:18 By : chonburi f.c
 


 

No. 15



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


อืมม ดูแล้วมันแค่ convert encoding เฉยๆ เอา array ที่ได้ใส่ไปใน json_encode ของ php ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 15:46:45 By : ikikkok
 


 

No. 16



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 15 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 15:46:45
รายละเอียดของการตอบ ::
ไม่ได้ครับพี่ PlaKriM

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 16:03:43 By : chonburi f.c
 


 

No. 17



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ไว้เดี๋ยวคืนนี้ดูให้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 17:19:08 By : ikikkok
 


 

No. 18



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 17 เขียนโดย : ikikkok เมื่อวันที่ 2011-11-18 17:19:08
รายละเอียดของการตอบ ::
ขอบคุณครับพี่

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 17:39:41 By : chonburi f.c
 


 

No. 19

Guest


มันก็ถูกแล้ว encode แล้วเป็นต่างด้าว
ต้องถามตัวเองก่อนเอา json มาทำอะไร
แล้วรู้ไหมว่า json มันย่อมาจากชื่อเต็มอะไร


เพราะถ้ารู้ชื่อเต็มแล้วจะรู้ว่า json มันไว้ทำอะไร อันนี้จริง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-18 22:04:55 By : nagis
 


 

No. 20



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

[ ตอบความคิดเห็นที่ : 19 เขียนโดย : nagis เมื่อวันที่ 2011-11-18 22:04:55
รายละเอียดของการตอบ ::
คุณ guest ครับ ไม่ช่วยแล้วอย่ากวนส้น.........ครับขอร้อง ผมรู้แล้วว่ามันออกมาเป็นต่างดาวผมกำลังหาวิธี encode จากต่างดาวเป็นไทยไม่ได้อ่านหัวข้อเลยรึไงครับ อย่าสักแต่ post ดิอ่านหัวข้อด้วยมีการศึกษานิดนึงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-19 12:03:49 By : chonburi f.c
 


 

No. 21



โพสกระทู้ ( 564 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

ลองแบบนี้ดูได้ไหมครับ

ปล. ไฟล์ 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);
?>


ผลลัพธ์ที่ได้

dd


ประวัติการแก้ไข
2011-11-19 14:48:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-19 14:47:12 By : kalamell
 


 

No. 22



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 20 เขียนโดย : chonburi f.c เมื่อวันที่ 2011-11-19 12:03:49
รายละเอียดของการตอบ ::
ใจเย็นๆ น้อง ทำตามคุณ U บอกดูก่อนนะ ถ้าัยังไม่ได้ เีด๋วจะช่วยแก้ปัญหาให้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-20 20:07:05 By : ikikkok
 


 

No. 23



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์


ทุกอย่างต้องเป็น UTF8 ครับ
-charset=utf-8'
-Encoding-utf-8
-SET NAMES UTF8
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-29 11:31:40 By : fossil31
 


 

No. 24



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 21 เขียนโดย : kalamell เมื่อวันที่ 2011-11-19 14:47:12
รายละเอียดของการตอบ ::
ขอบคุณคุณ u มากครับ แล้วถ้า code เป็นแบบ นี่ละครับต้องใส่แบบไหนลองดูแล้วมันขึ้น error

Call to undefined function js_thai_encode()

Code (PHP)
<?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;
	}
}



mysql_connect("localhost","root","123456");
mysql_select_db("spherept");
mysql_query("SET NAMES UTF8");



$q=mysql_query("SELECT * FROM news  ");
while($e=mysql_fetch_assoc($q))
$output[]=$e;



$input = new thi_encode();
$out = $input->js_thai_encode($output);

var_dump($out);
?>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-29 13:48:48 By : chonburi f.c
 


 

No. 25



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองดูตามนี้ครับ

https://stackoverflow.com/questions/16498286/why-does-the-php-json-encode-function-convert-utf-8-strings-to-hexadecimal-entit


ประวัติการแก้ไข
2017-09-03 05:12:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-03 05:12:15 By : INTz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ทำไมข้อมูลที่ถูกแปลงด้วย json_encode ไม่แสดงเป็นภาษาไทยมีวิธีแก้ไหมครบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่