ฟังก์ชั่นแสดงวันเดือนปีไม่เป็นภาษาไทยครับเป็นภาษาอื่นแต่ถ้าคลิกที่บราวเซอร์แล้วเลือกเป็นไทยก็จะได้ แต่จะทำให้ข้อความอื่นเป็นภาษาต่างดาวแทน
โค๊ดนี้เป็นฟังก์ชั่นแสดงวันเดือนปีที่ผมโหลดจากหนังสือครับ เป็นฟังก์ชั่นแสดงวันเดือนปีครับ แต่มันไม่เป็นภาษาไทย มีท่านใดพอจะทราบบ้างไหมครับ ต้องแก้ไขยังไง
Code (PHP)
<html>
<head>
<title>PHP & UTF-8</title>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<?
function displaydate($x) {
$thai_m=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$date_array=explode("-",$x);
$y=$date_array[0];
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$thai_m[$m];
$y=$y+543;
$displaydate="$d $m $y";
return $displaydate;
} // end function displaydate
function checkemail($checkemail) {
if(ereg( "^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)$",$checkemail) ) {
return true;
} else {
return false;
}
} // end fuction checkemail
?>
Tag : PHP, MySQL
Date :
2011-10-05 07:25:20
By :
โนวิด
View :
9263
Reply :
10
สงสัยจะเป็น ที่ charset เพราะเปลี่ยนเป็น window-874 มันได้นะ
Code (PHP)
<html>
<head>
<title>PHP & UTF-8</title>
<meta http-equiv=Content-Type content="text/html; charset=window-874">
</head>
<?
function displaydate($x) {
$thai_m=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$date_array=explode("-",$x);
$y=$date_array[0];
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$thai_m[$m];
$y=$y+543;
$displaydate="$d $m $y";
return $displaydate;
} // end function displaydate
function checkemail($checkemail) {
if(ereg( "^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)$",$checkemail) ) {
return true;
} else {
return false;
}
} // end fuction checkemail
echo displaydate(date('Y-m-d',time()));
?>
Date :
2011-10-05 07:59:46
By :
nimporn
แล้วต้องแก้ไขยังไงครับ เพราะในหนังสือไม่มีบรรทัดที่ 1-5 บรรทัดที่ 1-5 ผมเติมเอาเอง เดิม ๆ ไม่มีเลยมีแค่บรรทัดที่ 6 เป็นต้นไป
ประวัติการแก้ไข 2011-10-06 02:47:01
Date :
2011-10-06 02:41:42
By :
โนวิด
ผมก็ทำคล้ายกับลิ้งค์ที่ให้มานะครับ แต่ก็ยังไม่ได้ นี่ครับโค๊ดที่เซฟ
Code (PHP)
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<?
include "function.php";
$title_ques=$_POST[title_ques];
$detail_ques=$_POST[detail_ques];
$name_ques=$_POST[name_ques];
$email_ques=$_POST[email_ques];
if ($title_ques=="" or $detail_ques=="" or $name_ques=="" or $email_ques=="") {
echo "<h3>เกิดข้อผิดพลาด กรุณากรอกข้อมูลให้ครบด้วยครับ<h3>";
exit();
}
if (!checkemail($email_ques)) {
echo "<h3>เกิดข้อผิดพลาด รูปแบบอีเมล์ที่กรอกไม่ถูกต้องนะครับ กรุณากรอกใหม่ครับ</h3>";
exit();
}
$date_ques=date("Y-m-d");
include "connect.php";
$sql="insert into tbl_question values('','$title_ques','$detail_ques','$name_ques','$email_ques','$date_ques')";
mysql_query("SET NAMES UTF8");
$result=mysql_db_query($dbname,$sql);
if ($result) {
echo "<h3>ตั้งคำถามในกระทู้ถาม-ตอบเรียบร้อยแล้วครับ</h3>";
echo "<A HREF='question_view.php'>คลิกที่นี่เพื่อกลับสู่หน้าหลัก</A>";
} else {
echo "<h3>เกิดข้อผิดพลาด ไม่สามารถตั้งกระทู้ถาม-ตอบได้</h3>";
}
?>
ส่วนด้านล่างคือภาพอยู่ในฐานข้อมูลครับ
Date :
2011-10-06 19:20:16
By :
โนวิด
เปิด browse ข้อมูลดูใน PhpMyadmin รายการข้อมูลที่ลงเป็นภาษาไทยอ่านได้หรือเปล่า
หรือว่า เป็นเครื่องหมาย ???????????
คิดว่ามีจุดที่ต้องแก้ 2 จุด
1 <meta http-equiv=Content-Type content="text/html; charset=utf-8">
ให้แก้เป็น <meta http-equiv=Content-Type content="text/html; charset=window-874">
2 mysql_query("SET NAMES UTF8");
ให้แก้เป็น mysql_query("SET NAMES TIS620");
ต้องถามก่อนว่าตั้งแต่ลง Mysql หรือ Appserv หรือเว็บเซิร์ฟเวอร์อะไรก็ได้น่ะ ตรงที่ให้เลือก character set เลือกไว้เป็นอะไร TIS-620 หรือ UTF-8 เพราะมันมีผลด้วย
ตรงการเรียงลำดับไม่ค่อยเกี่ยวหรอก เพราะถึง character set ในฐานข้อมูล เป็น TIS-620 ตรงนี้มันก็เลือกให้เป็น utf-8 หรืออย่างอื่นได้
ลองดู
Date :
2011-10-06 20:54:37
By :
nimporn
เป็นภาษาไทยครับ เฉพาะวันเดือนปีภาษาไทยนั่นแหละที่เป็นต่างดาว
Date :
2011-10-06 21:32:31
By :
โนวิด
ไฟล์ที่เก็บฟังก์ชั่นแปลงวันที่มันเป็น encoding อะไรครับ
Date :
2011-10-06 22:41:21
By :
ikikkok
ผมแปลงไปเรื่อยครับ อันเดิมไม่มี ตั้งแต่ บรรทัดที่ 1 ถึง 6 ครับ และบรรทัดที่ 11 ด้วย
นอกนั้นตามหนังสือหมดเลยครับ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ไทยครีเ</title>
</head>
<?
function displaydate($x) {
$thai_m=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$date_array=explode("-",$x);
mysql_query("SET NAMES UTF8");
$y=$date_array[0];
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$thai_m[$m];
$y=$y+543;
$displaydate="$d $m $y";
return $displaydate;
} // end function displaydate
function checkemail($checkemail) {
if(ereg( "^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)$",$checkemail) ) {
return true;
} else {
return false;
}
} // end fuction checkemail
?>
ประวัติการแก้ไข 2011-10-07 01:36:41
Date :
2011-10-07 01:35:10
By :
โนวิด
ท่านใดพอจะแก้ไขฟังก์ชั่นการแสดงผลได้ก็ขอความกรุณาบอกด้วยนะครับ ผมจะนั่งหาข้อมูลและรอคำตอบจากท่านผู้รู้ด้วยครับ
Date :
2011-10-07 03:33:17
By :
โนวิด
เป็นเหมือนกันเลย ใช้หนังสือเล่มเดียวกัน ถ้าเจอก็บอกกันมั่งนะครับ
Date :
2011-10-07 10:16:11
By :
it
Load balance : Server 03