ThaiBuddyTrip.com - เว็บคู่หูของคนชอบเที่ยว
การใช้งาน UTF-8 แบบสมบูรณ์ - Printable Version

+- ThaiBuddyTrip.com - เว็บคู่หูของคนชอบเที่ยว (http://www.thaibuddytrip.com/forum)
+-- Forum: คอมพิวเตอร์-ไอที (/forumdisplay.php?fid=10)
+--- Forum: คอมพิวเตอร์-อินเตอร์เน็ต (/forumdisplay.php?fid=17)
+--- Thread: การใช้งาน UTF-8 แบบสมบูรณ์ (/showthread.php?tid=459)



การใช้งาน UTF-8 แบบสมบูรณ์ - Nobita - Sat, 27 Dec 08 20:42

ความรู้เกี่ยวกับการใช้ utf-8 ครับ

เดี๋ยวนี้เว็บไทยโดยส่วนใหญ่เริ่มเปลี่ยนการใช้งานจาก TIS-620 มันเป็น UTF-8 กันแล้ว การจะใช้งาน UTF-8 อย่างสมบูรณ์นั้น

ต้องประกอบ ไปด้วยส่วนประกอบ ต่อไปนี้ ***ถ้าไม่เขียนติดต่อ database ก็ข้ามไป

1. database ต้องกำหนดเป็น UTF8

2. table ต้องกำหนดเป็น UTF8

3. filds ที่เป็น char , varchar , text , tinytext , meduimtext , longtext ต้องกำหนดเป็น UTF8

4. การเชื่อมต่อเพื่อใช้งาน database ต้องกำหนด encoding เป็น UTF8

PHP Code:
<?php
$hostname_connection 
"localhost";
$database_connection "db_members";
$username_connection "root";
$password_connection "";
$connection mysql_pconnect($hostname_connection$username_connection$password_connection);
mysql_query("SET NAMES UTF8");
?>

ใส่คำสั่ง mysql_query("SET NAMES UTF8"); เข้าไปทันทีหลังจากเชื่อมต่อ database

5. encoding ของเพจ ต้องกำหนดเป็น UTF8

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

6. encoding ของไฟล์ ต้องกำหนดเป็น UTF8

สำหรับข้อ 6 นั้น ถ้าท่านใช้ dreamweaver สร้างเว็บเพจ และได้กำหนดในข้อ 5 แล้ว dreamweaver จะจัดการให้อัตโนมัติ
แต่ถ้าท่านใช้ notepad ตอน save ท่านต้องกำหนดตัวเลือก encoding ให้เป็น UTF-8 ด้วย ไม่งั้นแล้วปัญหาจะตามมา

จะเล่ากรณีศึกษา กรณีหนึ่ง มีเพื่อนคนหนึ่งต้องการจะเปลี่ยน เว็บไซต์ของตัวเอง จาก TIS-620 มาเป็น UTF-8 เขาได้กระทำการ
ตั้งแต่ ข้อ 1-4 เรียบร้อย มาถึงเปลี่ยน encoding ของเพจให้เป็น UTF-8 เขาใช้ dreamweaver ค้นหาและแทนที่ คำว่า tis-620
ด้วยคำ utf-8 กำหนดให้หาทุกไฟล์ในโฟลเดอร์ คือจะเปลี่ยน encoding ของทุกๆไฟล์

การทำอย่างนี้ไม่ถูกต้อง ขอย้ำนะครับว่าไม่ถูกต้อง
ถึงแม้
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
จะถูกเปลี่ยนไปเป็น
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ก็จริง แต่ตัวไฟล์เองยังถูกจัดเก็บในรูปแบบ ANSI ไม่ใช่ UTF8 เวลาท่านพิมพ์ภาษาไทยลงในไฟล์นั้น จะเกิดปัญหาตอนรัน ชัวร์

ทางที่ถูกต้องจริงๆก็คือ ให้เปิดไฟล์ทีละไฟล์และค่อยๆเปลี่ยนไป

ถ้าเปิดด้วย notepad ให้ save as แล้วเลือก encoding เป็น UTF-8

ถ้าเปิดด้วย dreamweaver ให้ไปที่
Modify>Page Properties...>Title/Encoding>Unicode(UTF-8) แล้ว save

หวังว่าบทความนี้จะเป็นแนวทางให้ท่านได้บ้าง

ที่มา: http://www.select2web.com/general/using-utf-8-final.html