|
|
|
สอบถามเรื่องเก็บภาษาไทยเข้า XAMPP พอนำมาแสดงได้ภาษาต่างดาว |
|
|
|
|
|
|
|
ลองหากระทู้เก่าๆ ดูรึยังครับ??
|
|
|
|
|
Date :
2014-03-20 10:49:33 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังเลยครับ เดี่ยวผมลองหา ถ้าเจอยังไง รบกวนบอกด้วยนะครับ ^^
|
|
|
|
|
Date :
2014-03-20 10:52:36 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำตามแล้วครับ มันก็ไม่หายอะครับ T^T
|
|
|
|
|
Date :
2014-03-20 11:01:14 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
file encode ตอนเซฟไฟล์ ก็ต้องเป็น utf-8 without bom ด้วยนะ ใส่แค่ <meta charset="utf-8" /> ช่วยอะไรไม่ได้นะครับ
|
|
|
|
|
Date :
2014-03-20 11:27:00 |
By :
randOmizE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
editor ที่ใช้อยู่ ถ้าเป็น dream เข้าไปที่ modify->properties->Title/encoding(อยู่ซ้ายมือ)->Encoding : unicode (UTF-8)->ok
ตัวอื่น ตอนเซฟจะมีให้กรอก 3 ช่อง ช่องแรก ชื่อไฟล์ ช่องที่ 2 นามสกุลไฟล์ ช่องที่ 3 Encoding : เลือก UTF-8 Without BOM
|
|
|
|
|
Date :
2014-03-20 11:43:55 |
By :
randOmizE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้แบบนี้ป่ะครับ
แล้วมันเกี่ยวกับ db ไหมครับ ของผมตั้งเป็น utf8_bin ต้องตั้งเป็น utf8_unucode_ci ไหมครับ
|
|
|
|
|
Date :
2014-03-20 11:51:47 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unicode Normalization Form : none ไม่ต้องติ๊ก Include Unicode Signature (BOM)
ทุกไฟล์ ทุกไฟล์ตั้งเหมือนกัน
หน้าบันทึกลง db ให้ลอง echo ออกมาก่อนว่าเป็นภาษาอะไร
|
|
|
|
|
Date :
2014-03-20 12:01:57 |
By :
randOmizE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ภาษาต่างดาวครับ แล้วมันเกี่ยวกับ db ไหมครับ ของผมตั้งเป็น utf8_bin ต้องตั้งเป็น utf8_unucode_ci ไหมครับ
|
|
|
|
|
Date :
2014-03-20 13:02:28 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติผมใช้ utf8_general_ci
ลอง echo ออกมาดูก่อน ยังไม่ต้องบันทึกลง db ว่าเป็นภาษาอะไร
ถ้าภาษาต่างดาว แสดงว่า ปัญหามันอยู่ที่ file ก่อนหน้า ถ้า file ก่อนหน้าตั้งค่า encode utf-8 และ <meta charset="utf-8" /> แล้ว ก็ไปเช็ค browser ว่า encode เป็นอะไร
อีกปัญหาหนึ่งก็คือ ถ้าใช้ chrome ทดสอบ บางทีแก้ได้แล้ว แต่ chrome ยังเอาของเดิมมา ลองทดสอบบน firefox ดู
|
|
|
|
|
Date :
2014-03-20 13:27:14 |
By :
randOmizE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลอง echo ใหม่ ก็แบบภาษาไทยนะครับ แต่ทำไมใน db ยังเป็นภาษต่างดาวอยู่เลยครับ พอเอามาแสดง
ลองรัน ใน IE CHOME FIREFOX เป็นเหมือนกันหมดเลยครับ
|
ประวัติการแก้ไข 2014-03-20 13:39:11 2014-03-20 13:45:34
|
|
|
|
Date :
2014-03-20 13:37:43 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะแก้ปัญหานี้ ถ้าไม่หาของเก่าดูเยอะ ๆ ก็ต้อง
1.เอา code ช่วงเรียกที่เรียกคิวรี่มาโพสต์ code จริง ๆ นะครับ ไม่เอารูปมาแป๊ะ บางคนเก่งอาจเห็น code แล้วเข้าใจ แต่อย่างผมจะช่วยได้ต้องเอา code ไปลองรัน ลองเทสดู
2.ต้องดู โครงสร้างของตารางว่า ชนิดของข้อมูลเป็นอะไร
3.เรื่องตั้ง head ภาษาไว้แบบไหน
4. ข้อมูลมันไม่เป็นภาษาไทย ตั้งแต่ตอนนำเข้า ต้องดูที่ต้นตอการนำเข้าข้อมูลอีก
หรือ ไม่อย่างนั้น ทำข้อมูลใหม่ สร้างตารางใหม่ save file ใหม่
มีวิธีแก้เยอะแยะมากมายนะครับ
|
|
|
|
|
Date :
2014-03-20 13:57:17 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้อ 1.
เป็นส่วนโชว์
Code (PHP)
!DOCTYPE HTML>
<html><!-- InstanceBegin template="/Templates/temp.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<!-- InstanceBeginEditable name="doctitle" -->
<title></title>
<?php
session_start() ;
include("config.php");
if (!isset($_SESSION['login_true'])) {
header("Location: index.php");
exit;
}
$ids = $_SESSION['ven'];
$sql_d = "SELECT * FROM sup WHERE id_ven = '$ids'";
$sql_r = mysql_db_query($db,$sql_d);
$objResult = mysql_fetch_array($sql_r);
$_SESSION['send'] = $ids
?>
<!-- InstanceEndEditable -->
<style type="text/css">
body {
background-image: url(img/brown.jpg);
}
</style>
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>
<body>
<table width="500" border="\" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="img/head.jpg" width="1022" height="157"></td>
</tr>
<tr>
<td><!-- InstanceBeginEditable name="EditRegion1" -->
<table width="500" align="center">
<tr>
<td align="left" valign="top"><img src="img/scroll_add.png" alt="" width="32" height="32" /><font color="#000000" size="2" face="MS Sans Serif, Tahoma, sans-serif"><a href="vender.php">New Job</a></font></td>
<td align="right" valign="middle"><font color="#000000" size="2" face="MS Sans Serif, Tahoma, sans-serif">Hello
<?=$objResult['name'];?>
</font></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
</table>
<!-- InstanceEndEditable --></td>
</tr>
</table>
</body>
<!-- InstanceEnd --></html>
ส่วนinsert ข้อมูลเข้า db
Code (PHP)
<?php
include("config.php");
session_start() ;
$supname = $_POST['sup_name'];
$address = $_POST['address'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$taxsup = $_POST['tax_sup'];
$email = $_POST['email'];
$usern = $_POST['username'];
$pass = $_POST['password'];
$sql = "select * from sup where username='$usern' " ;
$result = mysql_query($sql) ;
$numrow = mysql_num_rows($result) ;
if($numrow!=0) {
echo "<br><br><center><font size='3' face='MS Sans Serif'>มีผู้ใช้ user นี้แล้ว กรุณาเปลี่ยน User ใหม่";
echo "<br><br><input type='button' value='back to edit' onclick='history.back();'></center></body></html>" ;
exit();
}
$re = "insert into sup (name,address,tel,fax,tax_no,email,username,password)
values ('$supname' , '$address', '$tel' , '$fax' , '$taxsup' , '$email' , '$usern' , '$pass')";
$sql_q = mysql_db_query($db,$re);
if($sql_q) {
$_SESSION['login_true'] = $usern;
echo "<center><font size=\"3\" face='MS Sans Serif'>ขอบคุณสำหรับการสมัครสมาชิก</b></font></center>";
echo "$re";
//echo "<meta http-equiv='refresh' content='2; url=index.php'>" ;
}
?>
ข้อ 2. ครับ
ข้อ 4. ข้อมูลเข้าเป็นภาษาไทยครับ
|
|
|
|
|
Date :
2014-03-20 14:53:25 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้อ 4 ข้อมูลมันไม่เป็นภาษาไทย ตั้งแต่ตอนนำเข้า ต้องดูที่ต้นตอการนำเข้าข้อมูลอีก
สำหรับข้อมูลเดิมมันก็ยังเป็น ??????? อยู่นะครับ เพราะฉะนั้นต้อง INSERT ข้อมูลเข้าไปใหม่มันถึงจะได้
ปล. ถ้าอยากให้ข้อมูลเดิมแสดงเป็นภาษาไทย ณ ตอนนี้ก็อาจจะทำได้โดยการเปลี่ยนตัว Encode ของเบราเซอร์เอา
|
|
|
|
|
Date :
2014-03-20 15:14:44 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ได้แล้วครับ นั่งอ่านกระทู้อย่างจริงจัง พบว่า mysql_query("SET NAMES UTF8"); ช่วยไว้
ขอขอบคุณทุกๆท่านเลยนะครับ
|
|
|
|
|
Date :
2014-03-20 15:18:54 |
By :
Freeland |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังขาดแบบฟอร์มการกรอกข้อมูล ถ้าข้อมูลที่กรอกเข้ายังเป็นภาษา ???????? จะดึงมาแสดงอย่างไรมันก็ไม่เป็นภาษาไทย....
- เคลียตารางข้อมูล ต้องเป็นภาษาไทยจริง ๆ แอดข้อมูลใหม่ผ่านหน้า phpmyadmin ตรง ๆ เลยก็ได้
//////
หรือจะ
1. มาดูฟอร์มรับค่าว่าเป็น utf-8 หรือเปล่า แนะนำว่าหาโหลดโปรแกรม EditPlus มาลง แล้วเปิดไฟล์ที่มีฟอร์ม ไฟล์insert และไฟล์โชว์ข้อมูล ขึ้นมา
2. คลิกไปที่แถบเมนูด้านบน ที่ file > Save as...
3. ในช่องตัวเลือก Encodeing เลือก UTF-8
4. กด save
5. ลองทำการบันทึกข้อมูลใหม่ ดูซิว่าข้อมูลใหม่เป็นภาษาไทยไหม
ที่ให้ทำแบบนี้ก่อนเพื่อจะได้เป็นการแน่ใจว่าไฟล์ทุกไฟล์เป็น UTF-8 จริง ๆ .... อาจจะสงสัยว่าทำไมไม่แนะนำให้ Save as บน ดรีมวีเวอร์
ที่ไม่แนะนำเพราะดรีมมันดื้อ มันไม่ค่อยฟัง ดรีมเอาไว้ช่วยทำอะไรหลาย ๆ อย่าง แต่สุดท้าย Text Editor จะแก้ปัญหาได้ดีกว่า
--------------------------------------
ดู Code คร่าว ๆ ไม่น่ามีปัญหา
ฐานข้อมูลก็ไม่มีอะไร เพราะผมก็ใช้ unicode_ci บ้าง
สุดท้าย ไม่รู้ว่ามันจะเกิดจาก XAMPP หรือเปล่าไม่รุ้
ถ้าทำอย่างที่บอกอย่างใจเย็น ๆ แล้วแก้ปัญหาได้ก็ดีไป
ขอให้โชคดี
|
|
|
|
|
Date :
2014-03-20 15:32:33 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้าว ได้ซะล่ะ 555+
|
|
|
|
|
Date :
2014-03-20 15:33:41 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมมั่นใจว่าปัญหาเกี่ยวกับ XAMPP ครับ คือบางครั้ง ผมเพื่มข้อมุลไปเป็นภาษาไทย แล้วมันก็กลายเป็น ????????
พอผม reset XAMPP โดย STOP service และ Start ใหม่ก็หายครับ แต่ใช้ไปใช้มาก็เป็นอีก
|
|
|
|
|
Date :
2019-04-05 16:37:01 |
By :
หนุ่ย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|