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

Registered : 108,668

HOME > PHP > PHP Forum > $_SESSION แสดงภาษาไทยเป็นแบบนี้ครับ ?????????? แก้ไงหรอครับ



 

$_SESSION แสดงภาษาไทยเป็นแบบนี้ครับ ?????????? แก้ไงหรอครับ

 



Topic : 124509



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



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




คือผมทำระบบจองประชุมครับ
จะมี User ที่มีสถานะ ผ่านการอนุมัติ กับ ยังไม่ผ่านการอนุมัติ ครับ
ในหน้าจองนี้ผมต้องกำหนด Session ที่ใช้งานหน้านี้ได้หรือไม่ได้
แต่มาติดตรง Session ภาษาไทยมีปัญหาครับมันแสดงผลเป็นภาษา
???????? แทนภาษาไทยครับ จะแก้ยังไงดีครับให้แสดงภาษาไทยได้ครับ

พะ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-09-07 16:56:07 By : damnern007 View : 1305 Reply : 11
 

 

No. 1



โพสกระทู้ ( 5,104 )
บทความ ( 4 )

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

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


ให้ code มา 700 กว่าบรรทัด ปัญหาที่ถามอยู่บรรทัดไหนครับ ตัวแปร $_SESSION อะไรที่ส่งค่าออกมาเป็น ??????????






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 17:49:25 By : apisitp
 


 

No. 2



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



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


555++ ละเอียดดีไง แต่อาจให้ข้อมูลไม่ถูกต้องมา

ถ้าคิดจะใช้ UTF-8 ทุกสิ่งทุกอย่างต้องเป็น UTF-8 ไฟล์ ฐานข้อมูล และอะไรก็ตาม และ ปัญหานี้อาจไม่ได้เกิดจากไฟล์นี้ก็ได้

UTF-8
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 17:59:17 By : goragod
 

 

No. 3



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



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


ขออภัยครับ ความตั้งใจของผมแค่จะเอาไว้ข้างใต้ session_start(); ครับ ตั้งใจเขียนไว้แบบนี้ครับ
Code (PHP)
<?php
session_start();
if($_SESSION['Class'] == "")
	{
		header("location:loginisp.php");
	}

if($_SESSION['Class'] != "ผ่านการอนุมัติ")
	{
		header("location:loginisp.php");
	}	
?>

แต่รูปที่ผมแนบมา ผมเพียงทดลอง echo ออกเป็น 2 แบบคือแบบ $objResult ซึ่งปกติดีครับ แต่พอเป็น $_SESSION จะเป็น ??????? ทันทีครับ ซึ่งต่างจาก $objResult ที่แสดงเป็นภาษาไทยได้ปกติดีครับ
ส่วนด้านล่างเป็นหน้า check login ครับจุดเริ่มต้นที่ผมเอาไว้ start session
Code (PHP)
<?php
	session_start();
	mysql_connect("localhost","root","");
	mysql_select_db("decc");
	mysql_query("set name UTF8");
	$strSQL = "SELECT * FROM tblmember WHERE Email = '".mysql_real_escape_string($_POST['Email'])."' 
	and Passwd = '".mysql_real_escape_string($_POST['Passwd'])."'";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	if(!$objResult)
	{
			echo "Email and Password Incorrect!";
	}
	else
	{
			$_SESSION["CODE_ISP"] = $objResult["CODE_ISP"];
			$_SESSION["Status"] = $objResult["Status"];
			$_SESSION["Class"] = $objResult["Class"];

			session_write_close();
			
			if($objResult["Status"] == "ISP")
			{
				header("location:profile_isp.php");
			}
	}
	mysql_close();
?>


ด้านล่างเป็นฐานข้อมูลที่ผมใช้อยู่ครับใช้ utf8_general_ci
wer


ประวัติการแก้ไข
2016-09-07 18:05:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 18:01:04 By : damnern007
 


 

No. 4



โพสกระทู้ ( 5,104 )
บทความ ( 4 )

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

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


Class enum ก็เปลี่ยนเป็น 0 1 y n pass npass เขียนรับค่าก็ 0 กับ 1 เข้าไม่ใช้ภาษาไทยหรอก หรือจะจัดการเรื่อง UTF-8 อย่างพี่เขาบอก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 19:57:49 By : apisitp
 


 

No. 5



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



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


ครับ ผมก็กะว่าจะไปใช้ภาษาอังกฤษแทนไม่ก็ตัวเลข แต่ถ้าแก้ต้องแก้หลายเพจมากครับ ผใก็เลขอยากจะหาทางให้ session แสดงภาษาไทยได้ จะได้ไม่ต้องปรับอันอื่นๆ ขอบคุณพี่ๆมากครับที่แนะนำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 21:01:06 By : damnern007
 


 

No. 6



โพสกระทู้ ( 5,104 )
บทความ ( 4 )

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

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


1. แก้ตรงฟอร์มหน้าที่ผู้มีอำนาจจะสั่งอนุมัติ ทำเป็น select ให้เลือก อนุมัติหรือไม่อนุมัติ ให้มันส่งค่ามาเก็บเป็น 0 หรือ 1
2. ในตารางแก้ต้อง Class Enum เป็น 1 กับ 0
3. ถ้าเปรียบเทียบ ง่ายสุดก็ if else

if($_SESSION['Class'] == "")
	{
		header("location:loginisp.php");
	}

if($_SESSION['Class'] != "1")
	{
		header("location:loginisp.php");
	}	


4.เวลาตรงไหน หน้าเพจไหน จะต้องการแสดงค่า $_SESSION['Class'] ก็ใช้ if else switch case อีก ทำเป็นไฟล์ แล้วก็ include มันไปทุกหน้า (จริงๆ ถ้าง่าย เขียนฟังก์ชั่นง่ายๆ ก็ได้)

function classNames($aaa)
	{
		switch ($aaa)
		{
			case '0' :
				$aaa="ไม่อนุมัติ";
				break;
			case '1' :
				$aaa="อนุมัติ";
				break;
			default :
				$aaa="ไม่อนุมัติ";
				break;
		}
		return $aaa;
	}


เวลาเรียกใช้งานก็

echo classNames($_SESSION['Class']);


ผมว่ามันไม่เสียเวลาครับ ลองพิจารณาครับ


ประวัติการแก้ไข
2016-09-07 21:48:02
2016-09-07 21:49:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-07 21:47:16 By : apisitp
 


 

No. 7



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

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

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

ตอบความคิดเห็นที่ : 2 เขียนโดย : goragod เมื่อวันที่ 2016-09-07 17:59:17
รายละเอียดของการตอบ ::
ปัญหาพวก Encode พวกนี้ ผมอยากจะให้มันเกิดความเข้าใจ และหมดไปสักทีกับ Developer บ้านเรา ผมแนะนำตาม คห.2 นะครับ ควรจะกำหนดทุกอย่างให้เป็น UTF-8 ไม่ว่าจะเป็น Source Code เองตอน Save ด้วย Editor ต่างๆ ที่นำมาใช้งานกัน ก็ควรเลือก Encode เป็น UTF-8 รวมถึงการสร้างฐานข้อมูล (Database) ก็เช่นกัน ก็ควรเลือก Encode ให้เป็น UTF-8 และการกำหนด Charset ก็ควรให้เป็น UTF-8 หากถามว่าเพราะอะไรนะหรือ? เพราะมันเป็นสากล ไม่ใช่ว่าใช้ Encode มั่วซัว TIS620 กับ UTF-8 เลือกสักอย่างครับ มันไม่ใช่ปัญหาอะไรใหญ่ เป็นเพียงปัญหาเล็กน้อย เท่านั้น

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-08 03:24:27 By : Manussawin
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : apisitp เมื่อวันที่ 2016-09-07 21:47:16
รายละเอียดของการตอบ ::
เสริมวิธีที่ง่ายกว่า
Code (PHP)
$className = array('ไม่อนุมัติ', 'อนุมัติ');
echo $className[(int)$_SESSION['class']];


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-08 07:32:50 By : goragod
 


 

No. 9



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



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


เปลี่ยน วิธีเก็บ session อย่าเก็บเป็นภาษาไทยตรงๆ
เพราะมันจะถูกบันทึกลงไฟล์ ซึงไฟล์ที่เก็บ session ไม่ได้เป็น utf8 แต่เป็น ascii

เมื่่อคุณเก็บลงไฟล์ ตัวแปลเป็นภาษาไทย จาก utf8 ไปเป็น ascii ก็จะกลายเป็น ???????

ตัวอย่างการเก็บ session ที่เป็นภาษาไทย
Code (PHP)
session_start();
$_SESSION['testthai']=base64_encode('ทดสอบภาษาไทย');
////////////////////////////////////////////////////////////////////////////////////
if( 'ทดสอบภาษาไทย'===base64_decode($_SESSION['testthai'])){
   echo 'TRUE';
}else{
   echo 'FALSE';
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-08 08:07:15 By : Chaidhanan
 


 

No. 10



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

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

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


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-09-08 08:07:15
รายละเอียดของการตอบ ::
แจ่มแจ้งมากครับอาจารย์

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-08 09:05:13 By : คนมีเสน่ห์
 


 

No. 11



โพสกระทู้ ( 5,104 )
บทความ ( 4 )

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

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


ตอบความคิดเห็นที่ : 8 เขียนโดย : goragod เมื่อวันที่ 2016-09-08 07:32:50
รายละเอียดของการตอบ ::
ใจจร้าาาาาาาาา ง่ายกว่าเยอะ ฮ่า ๆ ๆ


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-09-08 08:07:15
รายละเอียดของการตอบ ::
ชัดเจนมาก


สุดท้ายทางแก้ที่ต้นเหตุ มันก็ต้องเอามาประยุกต์ครับ แก้เยอะก็ต้องแก้ ว่ากันไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-08 09:20:25 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : $_SESSION แสดงภาษาไทยเป็นแบบนี้ครับ ?????????? แก้ไงหรอครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , pangpond.com , pangpond.co.th , สำนักงานบัญชี.com , รถมือสอง

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