แก้ไม่ได้ค่ะ uft8 ภาษาไทย มีรูปค่ะ แก้ยังไงดีค่ะ T_Tใส่
แก้ยังไงดีค่ะ T_T
ใส่
Quote: <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
mysql_query("SET NAMES utf-8");
แล้วก็ยังไม่ได้ค่ะ
แก้ไขฐานข้อมูลเป็น utf-8 ก็ยังไม่ได้ค่ะ
ตอนแรก ฐานข้อมูลเป็น utf-8 แต่ใช้ mysql_query("SET NAMES TIS-620"); ไม่มีปัญหาเลยค่ะ
ฐานข้อมูล + firefox ก็ออกเป็นไทยค่ะ
แต่ต้องเปลี่ยนเพราะติดปัญหา https://www.thaicreate.com/php/forum/039688.html
เราใช้
firefox 3.5.8
appserv-win32-2.5.10.exe
Code (PHP)
<?php
session_start() ;
if(!session_is_registered("login_true_as")) {
echo "<meta http-equiv='refresh' content='0;url=../as/login.php'>" ;
exit() ;
}
?>
<html>
<head>
<title>ระบบคลินิกทันตกรรม</title>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
</head>
<body>
<a href="../as/member_detail.php">หน้าแรก
<?
if(isset($_GET['user_code']))$_SESSION['user_code']=$_GET['user_code'];
$user_code=$_SESSION["user_code"];
?>
<a href="javascript:MM_openBrWindow('choice_service_step_1.php?user_code=<?=$user_code?>','','width=700,height=700')">เพิ่มใบงาน</a>
</a>
<hr>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
ต้องการค้นหา
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
จาก
<select name="fields">
<option value="user_code">รหัสผู้ป่วย</option>
<option value="user_name">ชื่อ</option>
<option value="user_sname">นามสกุล</option>
<option value="user_day">วันเกิด</option>
<option value="user_mon">เดือนเกิด</option>
<option value="user_year">ปีเกิด</option>
<option value="user_sex">เพศ</option>
<option value="user_address">ที่อยู่</option>
<option value="user_call">โทรศัพย์</option>
<option value="user_call2">มือถือ</option>
<option value="user_intolerance">แพ้ยา</option>
<option value="user_disease">โรคประจำตัว</option>
</select>
<input type="submit" name="Submit" value="ค้นหา">
</form>
<hr>
<?
$fields=$_GET["fields"];
if($_GET["txtKeyword"] != "")
{
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES utf-8");
// Search By Name or Email
$strSQL = "SELECT * FROM tb_user WHERE (user_code='$user_code' and user_status='pt' and $fields LIKE '%".$_GET["txtKeyword"]."%') ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by user_code ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="900" border="1" align="center">
<tr bgcolor="#CCCCCC">
<th width="150"> <div align="center">รหัสผู้ป่วย</div></th>
<th width="200"> <div align="center"> ชื่อ</div></th>
<th width="200"> <div align="center"> นามสกุล </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["user_code"];?></div></td>
<td><center><?=$objResult["user_name"];?></a></center></td>
<td><center><?=$objResult["user_sname"];?></a></center></td>
<?
}
?>
</table>
<br>
พบ <?= $Num_Rows;?> ค้นหา : หน้า <?=$Num_Pages;?> :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'>Next>></a> ";
}
mysql_close($objConnect);
}
?>
<?
if($_GET["txtKeyword"] == "")
{
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES utf-8");
if(!isset($start)){
$start = 0;
}
$limit = '10'; // แสดงผลหน้าละกี่หัวข้อ
$Qtotal = mysql_query("select * from tb_user where user_code='$user_code' and user_status = 'pt'"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal); // หาจำนวน record
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES utf-8");
$strSQL = "SELECT * FROM tb_user where user_code='$user_code' and user_status = 'pt' ORDER BY user_code DESC LIMIT $start,$limit ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$totalp = mysql_num_rows($objQuery); // หาจำนวน record ที่เรียกออกมา
?>
<table width="900" border="1" align="center">
<tr bgcolor="#CCCCCC">
<th width="150"> <div align="center">รหัสผู้ป่วย</div></th>
<th width="200"> <div align="center"> ชื่อ</div></th>
<th width="200"> <div align="center"> นามสกุล </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["user_code"];?></div></td>
<td><center><?=$objResult["user_name"];?></a></center></td>
<td><center><?=$objResult["user_sname"];?></a></center></td>
<?
}
/* ตัวแบ่งหน้า */
$page = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า
/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
}else{
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
}
}
?>
<?
?>
</table>
<?
}
?>
</body>
</html>
Tag : - - - -
Date :
2010-03-03 13:30:27
By :
Ninezy
View :
1790
Reply :
17
mysql_query("set NAMES 'UTF8'"); เขียนแบบนี้นะครับ ลองแก้ตรงนี้ดูก่อนครับ ผมว่าคุณเขียนตรงนี้ผิดนะเพราะคุณเขียน ว่าmy sql_query("SET NAMES utf-8"); ถ้าไม่ได้เดียวผมลองแก้ให้ครับ
Date :
2010-03-03 13:43:32
By :
SOUL
แก้แล้วยังไม่ได้เลยค่ะ งง มากๆ เพราะ appserv-win32-2.5.10.exe หรือเปล่าค่ะเนี่ย ><
Date :
2010-03-03 13:53:46
By :
Ninezy
https://www.thaicreate.com/community/php-mysql-thai.html
Date :
2010-03-03 14:05:20
By :
manop_cs
ช่วยเอา code ตรงที่แก้ไขขึ้นให้ดูหน่อยได้ป่าวครับ
ลืมบอกต้องเขียน code นี้คุมตอบ add ขอ้มูลด้วยนะครับ ลองเช็คดูครับ ผมว่ามันไม่เกี่ยวกับ versionของappserv หรอกนะครับ
Date :
2010-03-03 14:12:58
By :
SOUL
คุณ Ninezy ใช้ editor อะไรเขียนครับ
ถ้าเป็น edit plus นะตามรูปด้านล่างทำไปยังครับ
Date :
2010-03-03 15:41:15
By :
peterXP
Code (PHP)
mysql_query("SET NAMES utf-8");
ลองเปลี่ยนเป็น
Code (PHP)
mysql_query("SET NAMES UTF8");
//ลองดูนะครับ
Date :
2010-03-03 16:17:52
By :
popnakub
ได้แล้วค่ะ ทำตามคุณ peterXP ขอบคุณ คุณ peterXP และทุกคนที่ตอบ มากๆค่ะ
ไม่นึกจริงๆเลยว่า edit plus ต้องเลือกด้วย แต่ยังติดตอนดึงข้อมูลยังเป็น ?? อยู่เลยค่ะ
อันนี้ตอนเพิ่มลง db ค่ะ
Code (PHP)
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?
$job_code=$_POST['job_code'] ;
$job_day=$_POST['job_day'] ;
$pt_code=$_POST['pt_code'] ;
$pt_name=$_POST['pt_name'] ;
$pt_sname=$_POST['pt_sname'] ;
$service_code=$_POST['service_code'] ;
$service_name=$_POST['service_name'] ;
$service_pay=$_POST['service_pay'] ;
$as_code=$_POST['as_code'] ;
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES utf-8");
$sql1 = "INSERT INTO tb_job (job_id, job_code, pt_code, pt_name,pt_sname,job_day,job_status,job_check,service_code,service_name,service_pay,msg_close) VALUES ('$job_id', '$job_code', '$pt_code', '$pt_name', '$pt_sname', '$job_day', 'Open', '$as_code', '$service_code', '$service_name' , '$service_pay' , '-' )";
$result1 = mysql_db_query($dbname,$sql1);
if(!$result1) { echo "Error : Can not save to database"; exit(); }
echo "<CENTER><tr> <td align=center bgcolor=#EAECEA><br><b>successfully..</b><br></CENTER>";
?>
<CENTER><input name="btnButton" type="button" value="Close" onclick="JavaScript:self.opener.location.reload();window.close();" /></CENTER>
Date :
2010-03-03 16:57:47
By :
Ninezy
ทำตาม No. 6 ครับ
Date :
2010-03-03 17:04:41
By :
.pjgunner
mysql_query("SET NAMES 'utf8'");แก้ตามนี้ครับ
Date :
2010-03-03 17:17:24
By :
SOUL
ลองทั้ง
Code (PHP)
mysql_query("SET NAMES UTF8");
mysql_query("SET NAMES 'utf8'");
ก็ยังไม่ได้ค่ะ
ไม่ทราบว่า ตรง head ถูกหรือยังค่ะ
Code (PHP)
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
Code (PHP)
<?php
session_start() ;
if(!session_is_registered("login_true_as")) {
echo "<meta http-equiv='refresh' content='0;url=../as/login.php'>" ;
exit() ;
}
?>
<html>
<head>
<title>ระบบคลินิกทันตกรรม</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
</head>
<body>
<a href="../as/member_detail.php">หน้าแรก
<?
if(isset($_GET['user_code']))$_SESSION['user_code']=$_GET['user_code'];
$user_code=$_SESSION["user_code"];
?>
<a href="javascript:MM_openBrWindow('choice_service_step_1.php?user_code=<?=$user_code?>','','width=700,height=700')">เพิ่มใบงาน</a>
</a>
<hr>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
ต้องการค้นหา
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
จาก
<select name="fields">
<option value="job_day">วันเปิดงาน</option>
<option value="job_code">รหัสเปิดงาน</option>
<option value="pt_code">รหัสผู้ป่วย</option>
<option value="pt_name">ชื่อ</option>
<option value="pt_sname">นามสกุล</option>
<option value="service_code">รหัสงานบริการ</option>
<option value="service_name">ชื่องานบริการ</option>
<option value="service_sname">อัตราค่าบริการ</option>
</select>
<input type="submit" name="Submit" value="ค้นหา">
</form>
<hr>
<?
$fields=$_GET["fields"];
if($_GET["txtKeyword"] != "")
{
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES 'utf8'");
// Search By Name or Email
$strSQL = "SELECT * FROM tb_job WHERE (pt_code='$user_code' and $fields LIKE '%".$_GET["txtKeyword"]."%')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by job_code DESC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="900" border="1" align="center">
<tr bgcolor="#CCCCCC">
<th width="150"> <div align="center">วันเปิดงาน</div></th>
<th width="200"> <div align="center"> รหัสเปิดงาน</div></th>
<th width="150"> <div align="center">รหัสผู้ป่วย</div></th>
<th width="200"> <div align="center"> ชื่อ</div></th>
<th width="200"> <div align="center"> นามสกุล </div></th>
<th width="150"> <div align="center">รหัสงานบริการ</div></th>
<th width="200"> <div align="center"> ชื่องานบริการ</div></th>
<th width="200"> <div align="center"> อัตราค่าบริการ </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["job_day"];?></div></td>
<td><center><?=$objResult["job_code"];?></a></center></td>
<td><center><?=$objResult["pt_code"];?></a></center></td>
<td><center><?=$objResult["pt_name"];?></a></center></td>
<td><center><?=$objResult["pt_sname"];?></a></center></td>
<td><center><?=$objResult["service_code"];?></a></center></td>
<td><center><?=$objResult["service_name"];?></a></center></td>
<td><center><?=$objResult["service_pay"];?></a></center></td>
<td><center><A HREF="list_job.php?user_code=<?=$objResult["user_code"];?>">ใบงาน</a></center></td>
<?
}
?>
</table>
<br>
พบ <?= $Num_Rows;?> ค้นหา : หน้า <?=$Num_Pages;?> :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtKeyword=$_GET[txtKeyword]&fields=$_GET[fields]'>Next>></a> ";
}
}
?>
<?
if($_GET["txtKeyword"] == "")
{
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES 'utf8'");
if(!isset($start)){
$start = 0;
}
$limit = '10'; // แสดงผลหน้าละกี่หัวข้อ
$Qtotal = mysql_query("select * from tb_job where pt_code = '$user_code'"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal); // หาจำนวน record
include("config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES UTF8");
$strSQL = "SELECT * FROM tb_job where pt_code = '$user_code' ORDER BY pt_code DESC LIMIT $start,$limit ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$totalp = mysql_num_rows($objQuery); // หาจำนวน record ที่เรียกออกมา
?>
<table width="900" border="1" align="center">
<tr bgcolor="#CCCCCC">
<th width="150"> <div align="center">วันเปิดงาน</div></th>
<th width="200"> <div align="center"> รหัสเปิดงาน</div></th>
<th width="150"> <div align="center">รหัสผู้ป่วย</div></th>
<th width="200"> <div align="center"> ชื่อ</div></th>
<th width="200"> <div align="center"> นามสกุล </div></th>
<th width="150"> <div align="center">รหัสงานบริการ</div></th>
<th width="200"> <div align="center"> ชื่องานบริการ</div></th>
<th width="200"> <div align="center"> อัตราค่าบริการ </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["job_day"];?></div></td>
<td><center><?=$objResult["job_code"];?></a></center></td>
<td><center><?=$objResult["pt_code"];?></a></center></td>
<td><center><?=$objResult["pt_name"];?></a></center></td>
<td><center><?=$objResult["pt_sname"];?></a></center></td>
<td><center><?=$objResult["service_code"];?></a></center></td>
<td><center><?=$objResult["service_name"];?></a></center></td>
<td><center><?=$objResult["service_pay"];?></a></center></td>
<td><center><A HREF="list_job.php?user_code=<?=$objResult["user_code"];?>">ใบงาน</a></center></td>
<?
}
/* ตัวแบ่งหน้า */
$page = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า
/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
}else{
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
}
}
?>
<?
?>
</table>
<?
}
?>
</body>
</html>
Date :
2010-03-03 19:12:57
By :
Ninezy
ใครว่างช่วยดูทีนะค่ะมันผิดตรงไหน งานไปไม่ถึงไหนเลย สงสัยจะไม่จบแล้ว T_T
ไฟล์ + db ค่ะ
http://www.mediafire.com/?lwyhk1kgmdu
ก็อบ fun ไว้ใน www/fun นะค่ะ
ชื่อ db คือ fun
http://localhost/fun/as/manage_job หน้านี้แล้ว link กดใบงานน่ะค่ะ
http://localhost/fun/as/manage_job_service.php << หน้าที่มีปัญหา uft8
Date :
2010-03-03 19:29:50
By :
Ninezy
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
Date :
2010-03-03 19:35:18
By :
pjgunner
ไม่ได้ค่ะคุณ เอี่ยว
ทำไมเราเป็นแบบนี้อยู่คนเดียวนะ T_T
Date :
2010-03-03 19:40:46
By :
Ninezy
ผมว่าได้แล้วแหละครับ เพียงแต่คุณดึงข้อมูลเก่าตอนที่ charset ผิด ลองเพิ่มเข้าไปใหม่ดูแล้วค่อยแสดงใหม่
และอีกอย่าง mysql_query("SET NAMES UTF8"); นะครับ ไม่มี ' ' (ไม่เคยลองแบบมี '')
ผมว่า connect ครั้งเดียวด้านบนก็พอ(นอก if นะครับ) ก็ไม่ได้ช้าอะไร แบบนี้เปลืองโค้ดคับ
Date :
2010-03-03 19:50:29
By :
pjgunner
ได้จริงๆด้วย ขอบคุณมากค่ะ คุณเอี่ยว และทุกท่าน
เย้ๆ ไปต่อไปแล้ว
Date :
2010-03-03 20:18:48
By :
Ninezy
ดีใจด้วยคร๊าบบบ
Date :
2010-03-03 20:23:37
By :
popnakub
สูตร utf8 นะครับ จำให้ขึ้นใจ
ไฟล์เซฟแบบ utf8 no BOM (อย่าใช้ notepad)
meta charset utf-8
mysql collation utf8_general_ci หรือ utf8_unicode_ci ก็ได้
mysql connect set name utf8
บันทึกข้อมูล แสดงข้อมูล ทำตามสูตรเหล่านี้ทั้งหมดรับรองผ่านหายห่วง
Date :
2010-03-03 20:30:57
By :
mr.v
Load balance : Server 01