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,027

HOME > PHP > PHP Forum > json_encode แต่ข้อมูลภาษาไทยออกมาเป็นภาษาแปลกๆ ใครพอมีวิธีแก้มั้งคับ



 

json_encode แต่ข้อมูลภาษาไทยออกมาเป็นภาษาแปลกๆ ใครพอมีวิธีแก้มั้งคับ

 



Topic : 085034

Guest




json_encode

ใช้คำสั่ง mysql_query("SET NAMES UTF8"); แล้ว

p

แต่ภาษาไทยมันออกมาเป็นแบบนี้
แล้วมีวิธีไหนบ้างทำให้เห็นเป็น ภาษาไทยได้รึเปล่า
แล้วภาษาไทย ที่ออกมาเป็นแบบนี้ สามารถเอาไปใช้ใน android ได้รึเปล่า



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-10-05 21:13:59 By : AzaIn View : 3051 Reply : 4
 

 

No. 1



โพสกระทู้ ( 1,521 )
บทความ ( 2 )

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

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

ลองใช้ Class อันนี้ดูครับ จำไม่ได้เหมือนกันว่าโหลดมาจากไหน
Code (PHP)
<?

class mysql2json{

 function getJSON($resultSet,$affectedRecords){
 $numberRows=0;
 $arrfieldName=array();
 $i=0;
 $json="";
	//print("Test");
 	while ($i < mysql_num_fields($resultSet))  {
 		$meta = mysql_fetch_field($resultSet, $i);
		if (!$meta) {
		}else{
		$arrfieldName[$i]=$meta->name;
		}
		$i++;
 	}
	 $i=0;
	  $json="[\n";
	while($row=mysql_fetch_array($resultSet, MYSQL_NUM)) {
		$i++;
		//print("Ind ".$i."-$affectedRecords<br>");
		$json.="{\n";
		for($r=0;$r < count($arrfieldName);$r++) {
			$json.="\"$arrfieldName[$r]\" :	\"$row[$r]\"";
			if($r < count($arrfieldName)-1){
				$json.=",\n";
			}else{
				$json.="\n";
			}
		}
	
		if($i!=$affectedRecords){
		 	$json.="\n},\n";
		}else{
		 	$json.="\n}\n";
		}	
	}
	$json.="\n]";
	return $json;
 }
}
?>

การใช้งาน
เรียก Class มาตามปกติ
Code (PHP)
<?
	require("mysql2json.class.php");
	$hostname_connection = "localhost";
	$database_connection = "XXXX";
	$username_connection = "XXXX";
	$password_connection = "XXXX";
	$connection = mysql_connect($hostname_connection, $username_connection, $password_connection) or trigger_error(mysql_error(),E_USER_ERROR); 
	mysql_query("SET character_set_results=utf8");
	mysql_query("SET character_set_client=utf8");
	mysql_query("SET character_set_connection=utf8");
	mysql_select_db($database_connection, $connection);
	
	
	$query="SELECT XXXXX FROM XXX ORDER BY XXXXX ASC ";
	$result=mysql_query($query,$connection);
	$num=mysql_affected_rows();
	
	$json=new mysql2json;
	$data=$json->getJSON($result,$num);
	echo $data;
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-05 22:24:41 By : Krungsri
 


 

No. 2

Guest


Code (PHP)
<?
mysql_query("SET NAMES UTF8");


$mysqlstatement="SELECT*FROM books ";
$result=mysql_query($mysqlstatement,$con);

				while($member= mysql_fetch_assoc($result)){
			
				
				$output[]=$member;
		
				
				}
		
				print(json_encode($output));

				mysql_close($con);
				
?>


ผมใช้ mysql_query("SET NAMES UTF8"); แต่ผลลัพธ์ดึงมาแล้วเป็นตามภาพบนอะคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-05 22:36:12 By : AzaIn
 

 

No. 3



โพสกระทู้ ( 1,242 )
บทความ ( 13 )

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

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

ลองทดสอบแบบนี้ดูครับ

header("Content-Type: text/html; charset=UTF-8");
   $a = array('ฟดกหด');
   echo json_encode($a, JSON_HEX_TAG | JSON_UNESCAPED_UNICODE);


แต่จริงๆ แล้วถึงภาษาไทยจะออกมาในรูปแบบ unicode ภาษาไทย browser ก็แสดงผลได้ปกติหนิครับ แต่ android ผมไม่ทราบเหมือกัน

unicode
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-06 00:29:23 By : nautilus
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ใช้กับ android ได้ปกติครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-06 07:31:41 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 01
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 อัตราราคา คลิกที่นี่