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

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

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

closey
PHP Jr. Member
PHP Jr. Member
Posts: 13
Joined: 19/01/2009 3:37 pm

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

Post by closey »

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

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

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

หน้าเวบเพจ
Image

หน้าฐานข้อมูล
Image


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

demonxiii
PHP Sr. Member
PHP Sr. Member
Posts: 54
Joined: 04/01/2009 7:54 pm

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

Post by demonxiii »

จากที่ผมเจอผมใช้วิธีนี้ครับ ไม่รู้ว่าเขียนด้วยภาษาอะไร แต่ผมเขียน 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
Posts: 13
Joined: 19/01/2009 3:37 pm

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

Post by closey »

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

ฐานข้อมูล
Image

dreamweaver
Image

connect
Image

demonxiii
PHP Sr. Member
PHP Sr. Member
Posts: 54
Joined: 04/01/2009 7:54 pm

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

Post by demonxiii »

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

ฐานข้อมูล
Image

dreamweaver
Image

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

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

แล้วอีกอย่างครับ
Image

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

closey
PHP Jr. Member
PHP Jr. Member
Posts: 13
Joined: 19/01/2009 3:37 pm

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

Post by closey »

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

ปวดตับ

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

Post by ปวดตับ »

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

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

Str

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

Post by Str »

ขอบคุณครับที่แบ่งปันความรู้ดีดี

User avatar
MikaruKinji
PHP Jr. Member
PHP Jr. Member
Posts: 13
Joined: 04/11/2012 3:13 pm

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

Post by MikaruKinji »

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

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot] and 21 guests