|
|
|
mysql_query("SET NAMES tis620"); เป็นการset ให้ป็นอักขระไทยใช่มั๊ยคะ |
|
|
|
|
|
|
|
tis620 คือมาตรฐานของรูปแบบตัวอักษร หรือเรียกว่า character encoding ครับ
ถ้าเรียกให้ง่ายก็คงจะประมาณว่า รหัสสำหรับอักขระไทยที่ใช้กับคอมพิวเตอร์ ครับ
โค๊ดดังกล่าวมันเป็นการบอกให้คอมพิวเตอร์รู้ครับว่าจะใช้ชุดรหัสชุดไหน
เพราะถ้าสมมุติว่าเราไม่ได้ใส่คำสั่งพวกนั้น
ถ้าเว็บที่เราเข้าก่อนหน้า สมมุติว่าเว็บนั้นเขาเซตให้เป็นภาษาจีน
พอเข้ามาเว็บเราเครื่องมันก็จะเข้าใจว่าต้องใช้รหัสชุดเดิมอีก ทำให้การแสดงผลออกมากลายเป็นเละเทะ
เพราะรหัสเลขเดียวกันของชุดรหัสที่ต่างกันมันจะหมายถึงคนละอักอักษรกันครับ
ยกตัวอย่างให้เห็นภาพนะครับ (ส่วนตัวเลขผมเมกขึ้นมา กรุณาอย่าใส่ใจ)
สมมุติว่า รหัสหมายเลข 11401 ของชุดอักษร tis620 หมายถึงตัวอีกษร ม
สมมุติว่า รหัสหมายเลข 11387 ของชุดอักษร tis620 หมายถึงตัวอีกษร ด
ถ้าคอมมันส่งรหัสมาว่า 11401 11387 เมื่อรวมกันแล้วก็จะตีความได้คำว่า มด
แต่ถ้ามันเอาหมายเลขเดียวกันไปเทียบกับชุดอักษร utf-8 มันก็จะตีความหมายผิดเพี้ยนไป
สมมุติว่า รหัสหมายเลข 11401 ของชุดอักษร utf-8 หมายถึงตัวอีกษร #
สมมุติว่า รหัสหมายเลข 11387 ของชุดอักษร utf-8 หมายถึงตัวอีกษร ^
ถ้าคอมมันส่งรหัสมาว่า 11401 11387 เมื่อรวมกันแล้วก็จะตีความได้คำว่า #^
ซึ่งอ่านเป็นคำไม่ได้ ลองคิดดูครับว่าถ้ามีตัวอักษรเยอะๆในหน้านั้นก็จะกลายเป็นภาษาต่างดาวไปทันที
หลักการมันประมาณนี้อะครับ
ส่วน
mysql_query("SET NAMES tis620"); <<< ให้ใช้ชุดอักษร tis620
mysql_query("SET collection_connection='tis620_thai_ci'"); <<< เรียงลำดับตัวอักษรตามมาตรฐานของชุด tis620
|
|
|
|
|
Date :
2009-07-14 01:23:33 |
By :
iamatomix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mysql_query("SET NAMES tis620");
คือ เซตรูปแบบตัวอักษร ที่จะใช้ร่วมกันระหว่าง client และ server
mysql_query("SET collection_connection='tis620_thai_ci'");
คือ เซตรูปแบบการเรียงลำดับข้อมูลในฐานข้อมูล
|
|
|
|
|
Date :
2009-07-14 01:37:14 |
By :
lozomac |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้ใช้ utf8 & utf8_general_ci ทั้งหน้าก็ใช้ utf-8 ไปเลยครับ จ๊าบมากขอบอก อัดทุกภาษาในโลกนี้ลงไปได้ไม่มีเพี้ยนเลย
แถมส่ง ajax, xml อะไรต่ออะไรก็ถูกต้องไปหมด แนะนำว่าน่าใช้มาก
|
|
|
|
|
Date :
2009-07-14 02:31:50 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อธิบาย การ set ให้เป็น utf8 หน่อยซิครับ ผมอยากจะใช้แต่ไม่ทราบว่า จะเริ่มต้น ตั้งค่า ของ ส่วนใหนบ้างนะครับ
1. mysql โดยใช้ phpmyadmin จะตั้งค่าเริ่มต้น ให้ utf8 ได้อย่างไรครับ ทั้งในระบบ database,table,field เอง
2. ในส่วนของ php จะ set รหัสที่ utf8 ที่มาจาก php ได้นั้นต้อง set ค่าด้วย คำสั่งอะไรครับ
3. ส่วนของ html กำหนดส่วนใหนให้เป็น utf8 ครับ
4. php ที่ถูกเรียกด้วย ajax กำหนด อย่างไรให้เป็น utf8
คุณ vee(ท่านอื่นที่มีความรู้เรื่องนี้ครับ) ชี้แนะ ด้วยนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-02-19 12:05:30 |
By :
เหน่ง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2011-10-23 01:28:23 |
By :
tttt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน phpmyadmin ให้สังเกตุ ครับ[ผมติดตั้งมันก็เป็นค่านี้ปกตินะครับ]
ชุดตัวอักษร (charset) ของ MySQL: UTF-8 Unicode (utf8)
MySQL connection collation: UTF-8 Unicode_ci
ส่วน การดึงข้อมูล ภาษาใน ฐานข้อมูล
$db = "test" ;
mysql_select_db("$db");
mysql_db_query($db,"SET NAMES utf8"); // ตั่งค่าให้ อ่านแบบ utf8
ส่วนของเว็บแสดงผลก็
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ครับผม
|
|
|
|
|
Date :
2011-10-23 03:30:19 |
By :
icman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|