ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

closey
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 19/01/2009 3:37 pm

ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย closey » 25/01/2009 3:22 pm

เวลาที่บันทึกข้อมูลที่เป็นภาษาไทยบนหน้าเวบนะค่ะ
พอเข้าไปดูในฐานข้อมูลที่ mySQL จะออกมาเป็น ÇÔ·ÂÒÈÒʵúѳ±Ôµ(à·¤â¹âÅÂÕ¤ÍÁ¾ÔÇàµÍÃì) แบบนี้อ่ะค่ะ

ในทางกลับกัน ถ้าบันทึกข้อมูลโดยตรงในฐานข้อมูล
เมื่อเรียกแสดงที่หน้าเวบก็จะออกมาเป็น ?????????????? แบบนี้อ่ะค่ะ

ฐานข้อมูลเซ็ตค่าเป็น tis-620 น่ะค่ะ
โค้ดที่เขียนก็เซ็ตเป็น tis-620 ค่ะ
แล้วเคยไปเซ็ตค่าให้สามารถรันในutf8ได้ แต่ก็เหมือนเดิมน่ะค่ะ
ต้องแก้ไข/เซ็ตค่า ตรงไหนค่ะ

หน้าเวบเพจ
รูปภาพ

หน้าฐานข้อมูล
รูปภาพ


ป.ล. ลองเข้าไปหาอ่านในบทความ php แล้ว แต่หาไม่เจอเลยค่ะ

demonxiii
PHP Sr. Member
PHP Sr. Member
โพสต์: 54
ลงทะเบียนเมื่อ: 04/01/2009 7:54 pm

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย demonxiii » 25/01/2009 10:21 pm

จากที่ผมเจอผมใช้วิธีนี้ครับ ไม่รู้ว่าเขียนด้วยภาษาอะไร แต่ผมเขียน PHP ผมตั้งค่าทั้งหมดเป็น UTF8_Unicode_ci ใน MySQL

ส่วนตรง Connection ใต้บรรทัดที่ติดต่อฐานข้อมูล Connection ก็พิมพ์ mysql_query("SET NAME UTF8, $ชื่อการติดต่อ"); ประมาณใกล้นี้ครับ

พอดีหนังสือไม่อยู่กะตัว

ตอนเซฟ PHP กำหนด Encoding ให้เป็น UTF8 ด้วยครับ

พูดง่ายๆ ต้องปรับทุกอย่างให้เป็น UTF8 ให้หมด ทั้ง Encoding ของ Dream ด้วย

เวลารันดูผล ให้ปรับ Encoding ของ Internet Exploer ให้เป็น Unicode ด้วยนะครับ

ทำแล้วให้

ป.ล. PHP5 นะครับ

พอดีอยู่หน้าคอมเอาโค้ดให้ดู จากข้างบนนะครับ

function con2db()
{
$conn = mysql_connect("localhost","root","ekachai");
mysql_query("SET NAMES UTF8",$conn);
$database = mysql_select_db("his",$conn);
}

ที่ไฮไลไว้คือ ส่วนที่ตั้งค่าครับ แล้วเวลาเซฟ PHP ตรงช่องล่างสุดที่เขียนว่า Converter ให้เลือกเป็น UTF8
แล้วเวลาเซฟทุกไฟล์ต้องเซฟเป็น Converter ให้เป็น UTF8 ให้หมด

closey
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 19/01/2009 3:37 pm

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย closey » 27/01/2009 4:19 pm

ลองแก้ตามที่บอกแล้วน่ะค่ะแต่ยังไม่ได้
เลยลองแคปรูปโค้ดที่แก้มาให้ดู
ถูกผิดตรงไหนช่วยบอกด้วยนะค่ะ

ฐานข้อมูล
รูปภาพ

dreamweaver
รูปภาพ

connect
รูปภาพ

demonxiii
PHP Sr. Member
PHP Sr. Member
โพสต์: 54
ลงทะเบียนเมื่อ: 04/01/2009 7:54 pm

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย demonxiii » 28/01/2009 12:42 pm

closey เขียน:ลองแก้ตามที่บอกแล้วน่ะค่ะแต่ยังไม่ได้
เลยลองแคปรูปโค้ดที่แก้มาให้ดู
ถูกผิดตรงไหนช่วยบอกด้วยนะค่ะ

ฐานข้อมูล
รูปภาพ

dreamweaver
รูปภาพ

connect
รูปภาพ


ขอแก้ตรงนี้นิดนึงครับ
$link = mysql_connect($host,$user,$pwd);
mysql_query("SET NAMES UTF8",$link);

ขอให้วางไว้ใต้ ตัว Connection ครับ แล้วกำหนดด้วยว่า Connection ตัวไหน เพราะที่ดูจากภาพ คุณเซ็ทตัวหนังสือแต่ไม่ได้กำหนดว่า Connection ตัวไหน

แล้วอีกอย่างครับ
รูปภาพ

ตรงนี้ชอบลืมกันมากครับ แต่มีผลจริงๆ EDITPLUS นะครับ เซฟไฟล์ PHP

closey
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 19/01/2009 3:37 pm

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย closey » 29/01/2009 12:29 pm

ขอบคุณสำหรับคำแนะนำค่ะ
ตอนนี้แก้ได้แล้วค่ะ
แต่เปลี่ยนจาก utf8 เป็น tis620 แทนนะค่ะ

ปวดตับ

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย ปวดตับ » 01/01/2011 10:18 pm

ขอบคุณมาก ๆ เลยครับ ใช้วิธีนี้ได้้ผลเลยครับ

mysql_query("SET NAMES UTF8",$conn);


ภาพประจำตัวสมาชิก
MikaruKinji
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 04/11/2012 3:13 pm

Re: ถาม : การบันทึกข้อมูลที่เป็นภาษาไทยใน mySQL หน่อยค่ะ

โพสต์โดย MikaruKinji » 08/11/2012 6:36 pm

ข้อมูลขาเข้า ขาออกและฐานข้อมูล ต้องเป็นฟอแมต เดียวกันครับ ถึงจะเป็นภาษาไทย
และในปัจจุบันนิยมใช้ utf8 นะครับ


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 23 และ บุคคลทั่วไป 0 ท่าน