ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: matay107 ที่ 21 กุมภาพันธ์ 2012, 01:35:13



หัวข้อ: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: matay107 ที่ 21 กุมภาพันธ์ 2012, 01:35:13
กรอกข้อมูลลงฟอร์มที่สร้างไว้พอแสดงผลทางหน้าเว็บก็เป็นภาษาไทยแต่พอไปดูในappservกลับเป็นภาษาต่างดาวครับ
โค๊ด:
<?
session_start();
if ($sess_adminid<>session_id()) {
header( "Location: admin.php"); exit();
}
mysql_query("set names utf-8");
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<HEAD><TITLE>Adnin</TITLE></HEAD>
<BODY>
<?  include "admin_menu.php"; ?>
<FORM ACTION="admin_product_add2.php" METHOD="post" ENCTYPE="multipart/form-data">
  <P><B>เพิ่ม vdo ใหม่่</B></P>
  <TABLE WIDTH="680" BORDER="0" CELLSPACING="1" CELLPADDING="0">
    <TR>
      <TD WIDTH="101">ชื่อ vdo</TD>
      <TD><INPUT TYPE="text" NAME="name" SIZE="40">* </TD>
    </TR>
    <TR>
      <TD>ประเภท vdo</TD>
      <TD>
  <SELECT NAME="ref_id_type">
  <OPTION VALUE="0">เลือกประเภท</OPTION>
  <?
include "connect.php";
$sql="select * from tb_type";
$result=mysql_db_query($dbname,$sql);
  while($rs=mysql_fetch_array($result)) {
$id_type=$rs[id_type];
$name_type=$rs[name_type];
echo "<OPTION VALUE='$id_type'>$name_type</OPTION>";
}
  ?>
      </SELECT>
  *</TD>
    </TR>
    <TR>
      <TD>รายละเอียดของvdo</TD>
      <TD><TEXTAREA NAME="detail" COLS="40" ROWS="4"></TEXTAREA> * </TD>
    </TR>
    <tr>
      <td><b>code ไฟล์จากYoutube</b><br >
      ท่านจะต้องปรับค่า<font color="red">width</font> ให้ไม่เกินหรือเท่ากับ <font color="red">460</font> เพื่อที่จะแสดงผลอย่างพอดีที่หน้าแรกของเว็บไซต์<br></td>
      <br>
          <td><textarea name="codevdo" rows="10" cols="90"></textarea> *<br></td></tr>
      <TD>&nbsp;</TD>
      <TD><INPUT TYPE="submit" NAME="Submit" VALUE="Submit">
        <INPUT TYPE="reset" NAME="Submit2" VALUE="Reset"></TD>
    </TR>
  </TABLE>
</FORM>
</BODY>
</HTML>

โค๊ด:
<?
session_start();
if ($sess_adminid<>session_id()) {
header( "Location: admin.php"); exit();
}
mysql_query("set names utf-8");
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<HEAD><TITLE>Adnin</TITLE></HEAD>
<BODY>
<?
$name=$_POST['name'];
$ref_id_type=$_POST['ref_id_type'];
$detail=$_POST['detail'];
$codevdo=$_POST['codevdo'];

$fileupload=$_FILES['fileupload']['tmp_name'];
$fileupload_name=$_FILES['fileupload']['name'];
$fileupload_size=$_FILES['fileupload']['size'];
$fileupload_type=$_FILES['fileupload']['type'];

if ($name=="") {
echo "<H3>ERROR : Please name vdo</H3>";
exit();
} /*else if ($ref_id_type=="0") {
echo "<H3>ERROR : ???????????????vdo </H3>";
exit();
}*/ else if ($detail=="") {
echo "<H3>ERROR : Please detail vdo.</H3>";
exit();
} else if ($codevdo=="") {
echo "<H3>ERROR : Please code vdo. </H3>";
exit();
}

include "connect.php";
$sql="INSERT INTO tb_product values('','$name','$ref_id_type','$detail','$codevdo') ";
$result=mysql_db_query($dbname,$sql);

if ($fileupload) {

$array_last=explode(".",$fileupload_name);
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]) ;

if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg") {

$sql2="select max(id_clip) from tb_product ";
$result2=mysql_db_query($dbname,$sql2);
$row=mysql_fetch_row($result2);

$photoname=$row[0].".".$lastname;
copy($fileupload,"photo/".$photoname);
$result3=mysql_db_query($dbname,$sql3);
}
unlink($fileupload);
}

echo "<H3>add vdo success.</H3>";
echo "[ <A HREF=admin_product.php>home</A> ] ";
echo $sql;
mysql_close();
?>
</BODY>
</HTML>


codeทั้งสองไฟล์ได้เซฟเป็น utf-8 ทั้งหมด และappservก็ตั้งเป็น utf-8เหมือนกัน

(http://image.free.in.th/z/te/7yt91.png) (http://pic.free.in.th/id/3a465072f0965bfd5fa33a5c345404d3)
รูปนี้คือผลรัน แล้วลองechoข้อมูลที่จะลงฐานข้อมูลออกมาดู มันเป็นภาษาไทย

(http://image.free.in.th/z/tm/mt992.png) (http://pic.free.in.th/id/5dfdca8ac979efb025932abfbfc59bc3)
รูปในฐานข้อมูล


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: Queue ที่ 21 กุมภาพันธ์ 2012, 02:08:38
โครงสร้าง db น่าจะป็น latin ครับ

ลองเปลี่ยนเป็น utf 8


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: toekubpom ที่ 21 กุมภาพันธ์ 2012, 03:22:59
ตอน import ได้เลือกเป็น utf8 รึเปล่าครับ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: matay107 ที่ 21 กุมภาพันธ์ 2012, 03:37:52
(http://image.free.in.th/z/ta/lviw3.png) (http://pic.free.in.th/id/82ff4ed3b7e9ed4c5c7f264840251bfc)
 เรียงลำกับตาม utf unicode อะครับ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: rokaisakkon ที่ 21 กุมภาพันธ์ 2012, 05:16:12
ตอน เขียนฟังชั่น เชื่อต่อ DB ใน PHP ลืมใช้ utf-8 คับ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: Nan_jung30 ที่ 21 กุมภาพันธ์ 2012, 09:43:11
ลองเอา include "connect.php";  ไปไว้ก่อน  mysql_query("set names utf-8");  ค่ะ

หรือเอา mysql_query("set names utf-8");  ไปใส่ไว้ในบรรทัดล่างสุดของไฟล์ connect.php ดูค่ะ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: matay107 ที่ 21 กุมภาพันธ์ 2012, 14:15:24
ตอน เขียนฟังชั่น เชื่อต่อ DB ใน PHP ลืมใช้ utf-8 คับ
แก้เป็นutf 8 แล้วก็ยังไม่ได้ครับ
ลองเอา include "connect.php";  ไปไว้ก่อน  mysql_query("set names utf-8");  ค่ะ

หรือเอา mysql_query("set names utf-8");  ไปใส่ไว้ในบรรทัดล่างสุดของไฟล์ connect.php ดูค่ะ
ลองวิธีนี้แล้วก็ยังไม่ได้ครับ ผมลองแอดtableลงไปใหม่ก็ยังไม่ได้


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: dragons_first ที่ 21 กุมภาพันธ์ 2012, 14:27:57
ฐานข้อมูลเป็นชนิดอะไรครับ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: matay107 ที่ 21 กุมภาพันธ์ 2012, 14:57:38
ฐานข้อมูลเป็นชนิดอะไรครับ
MyISAM
utf_unicode_ci ครับ


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: emukidz ที่ 21 กุมภาพันธ์ 2012, 16:09:39
ปัญหาน่าจะเกิดจาก Collation ครับ ลองอ่าน link นี้ดู

http://www.thainorthadmin.com/board/index.php?topic=424.0

ส่วนอันนี้เป็นตัวอย่างการเขียน script
http://www.thaicreate.com/community/php-mysql-thai.html


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: matay107 ที่ 22 กุมภาพันธ์ 2012, 03:34:12
ได้แล้วครับ
วิธีแก้ก็คือ เอาโค๊ดด่านล่างไปไว้ในฟังชัน connect
โค๊ด:
mysql_query("SET NAMES UTF8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");


หัวข้อ: Re: ข้อมูลที่ลงdatabaseเป็นภาษาต่างดาวครับ ใช้appserv
เริ่มหัวข้อโดย: MeenyFancy ที่ 22 กุมภาพันธ์ 2012, 08:27:56
ผมใช้วิธีเซฟ encode เป็น utf-8 ก็ได้เหมือนกันครับ

(http://image.free.in.th/z/ip/upost.png)