วันจันทร์ที่ 7 มีนาคม พ.ศ. 2554

วิธีแก้ภาษาไทยกลายเป็น ????????? PHP+MYSQL

จากประสบการณ์การใช้งานผมได้สร้าง PHP Script ที่ใช้สำหรับการติดต่อกับ MySQL ชุดหนึ่งซึ่งใน Script นี้จะมีการเซ็ตค่าภาษาไทยที่สามารถใช้งานได้ดีโดยไม่มีปัญหาภาษาไทย ทั้งการ Insert , Update, Select ดังนี้ครับ :
----------------------------------------------------------------------------------------------------------------------------------------------------
<?
//กำหนด ชื่อดาต้าเบสเซิร์ฟเวอร์ , ชื่อฐานข้อมูล , ล็อกอิน และ รหัสผ่าน สำหรับติดต่อกับฐานข้อมูลให้กับตัวแปร
$ServerName = "localhost";
$DatabaseName = "MyDatabase";
$User = "root";
$Password = "";
//ติดต่อกับฐานข้อมูลผ่านฟังก์ชัน MySQL
$Conn = mysql_connect($ServerName,$User,$Password) or die ("ไม่สามารถติดต่อกับเซิร์ฟเวอร์ได้");
//เลือกชื่อฐานข้อมูล คือ
mysql_select_db($DatabaseName,$Conn) or die ("ไม่สามารถติดต่อกับฐานข้อมูลได้");
$cs1 = "SET character_set_results=tis620";
mysql_query($cs1) or die('Error query: ' . mysql_error());

$cs2 = "SET character_set_client = tis620";
mysql_query($cs2) or die('Error query: ' . mysql_error());

$cs3 = "SET character_set_connection = tis620";
mysql_query($cs3) or die('Error query: ' . mysql_error());
?>

---------------------------------------------------------------------------------------------------------------------------------------------------
/*** Connect ***/
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
mysql_query("SET NAMES TIS620");
/*
// Or //
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");
*/

/*** Add Record ***/
if($_GET["Action"]=="Save")
{
$strSQL = "INSERT INTO mydata_tis620 (NAME,SURNAME) VALUES ('".$_POST["txtName"]."','".$_POST["txtSurname"]."')";
mysql_query($strSQL);
}

/*** List Record ***/
$strSQL = "SELECT * FROM mydata_tis620";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="498" border="1">
<tr>
<th width="87"> <div align="center">UID </div></th>
<th width="145"> <div align="center">NAME </div></th>
<th width="244"> <div align="center">SURNAME </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["UID"];?></div></td>
<td><?=$objResult["NAME"];?></td>
<td><?=$objResult["SURNAME"];?></td>
</tr>
<?
}
?>
<form name="frmMain" method="post" action="?Action=Save">
<tr>
<td>
</td>
<td><input name="txtName" type="text" id="txtName"></td>
<td><input name="txtSurname" type="text" id="txtSurname">
<input name="btnSubmit" type="submit" id="btnSubmit" value="Submit"></td>
</tr>
</form>

</table>
<?
mysql_close($objConnect);
?>

ไม่มีความคิดเห็น: