ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.com< กดยุบ (ห้องยกเลิกการใช้งาน)TWGช่วยสอนวิธีทำให้ mysql อ่านภาษาไทยได้หน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยสอนวิธีทำให้ mysql อ่านภาษาไทยได้หน่อยครับ  (อ่าน 11167 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
BosnoS
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 222
ออฟไลน์ ออฟไลน์

กระทู้: 8,168



ดูรายละเอียด
« เมื่อ: 18 กุมภาพันธ์ 2007, 14:00:26 »

ตอนนี้เซ็ตไว้ที่

phpmyadmin
ชุดตัวอักษร (charset) ของ MySQL: UTF-8 Unicode (utf8) MySQL connection collation : utf8_unicode_ci
Language : ภาษาไทย - thai

ในตาราง

การเรียงลำดับ : latin1_swedish_ci

ในตัวเว็บ เปิดกับ Dreamweaver

Font : Unicode
Encoding : Thai(Windows)

ตอนนี้ใน mysql ส่วนใหญ่ ข้อมูลจะเป็นภาษา Eng ทั้งหมด แต่กำลังจะ เพิ่มส่วนของภาษาไทย พอลอง Add ดู มันเป็น Huh?Huh??? ตลอดเลย ก็เลยลองแก้ไปแก้มา จนตอนนี้ใน sql โชว์ภาษาไทย แต่พอดึงมาขึ้นเว็บก็เป็น Huh??? อยู่ดี แก้จนมั่วไปหมดแล้วครับ ไม่รู้อันไหนผิดอันไหนถูก รบกวนดูให้หน่อยนะครับ

ป.ล ที่กลัวที่สุดก็คือ ข้อมูลเก่าๆ ที่เป็นภาษา Eng มันจะเพี้ยนไหม เวลาเราเปลี่ยน พวก Font ภาษา เพราะเคยทำเว็บไซด์ไทย พังไปแล้ว 1 เว็บ เพราะไปเปลี่ยนเป็น UTF 8 จากเดิม tis620 ภาษาไทยล้มหมดแล้วกู้ไม่กลับด้วย T_T
บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 18 กุมภาพันธ์ 2007, 14:25:24 »

การเรียลงำดับภายใน ตาราง เปลี่ยนเป็น utf-8 ให้หมดครับด้วยคำสั่ง

โค๊ด:
alter table tablename character set utf8


หลังจาก select DB ให้เพิ่ม 3 บรรทัดนี้เข้าไป
โค๊ด:
mysql_query("SET character_set_results=utf8");
mysql_query("SET collation_connection=utf8_general_ci");
mysql_query("SET NAMES 'utf8'");


ถ้าจะใช้แค่ Thai อย่างเดียว ไม่เอาภาษาอื่นๆ tis-620 ก็น่าจะพอครับจำนวน byte ในการเก็บข้อมูลจะลดลง

tis-620 ใน mysql คือ tis620
บันทึกการเข้า

BosnoS
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 222
ออฟไลน์ ออฟไลน์

กระทู้: 8,168



ดูรายละเอียด
« ตอบ #2 เมื่อ: 18 กุมภาพันธ์ 2007, 14:33:54 »

ขอบคุณครับ เด๊ยวไปลองทำดู เว็บจะได้มีภาษาไทยสักที ^^
บันทึกการเข้า
BosnoS
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 222
ออฟไลน์ ออฟไลน์

กระทู้: 8,168



ดูรายละเอียด
« ตอบ #3 เมื่อ: 18 กุมภาพันธ์ 2007, 15:02:52 »

ถามอีกข้อครับ utf8 กับ tis620 มีผลอะไรกับภาษา Eng ไหมครับ

คือ ใน database มีข้อมูลภาษา eng เยอะมาก กลัวเสียไป
บันทึกการเข้า
BosnoS
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 222
ออฟไลน์ ออฟไลน์

กระทู้: 8,168



ดูรายละเอียด
« ตอบ #4 เมื่อ: 18 กุมภาพันธ์ 2007, 15:13:57 »

ผ่านแล้วครับ แต่ผมแก้เป็น
mysql_query("SET character_set_results=tis620");
mysql_query("SET collation_connection=utf8_general_ci");
mysql_query("SET NAMES 'tis620'");
บันทึกการเข้า
chonyagusa
สมุนแก๊งเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 962



ดูรายละเอียด
« ตอบ #5 เมื่อ: 18 กุมภาพันธ์ 2007, 17:05:08 »

คุณ BosnoS หรือคุณ ตี๋ อธิบายให้ละเอียด ได้ไหมครับ

อยากทำบ้าง ^^

MySQL client version: 5.0.18
บันทึกการเข้า

chonyagusa
สมุนแก๊งเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 962



ดูรายละเอียด
« ตอบ #6 เมื่อ: 18 กุมภาพันธ์ 2007, 17:10:56 »

โค๊ด:
IPB WARNING [2] mb_substr() [function.mb-substr]: Unknown encoding "TIS-620" (Line: 2794 of /sources/ipsclass.php)


พอมีวิธีแก้ไหมครับ

ปล. บอร์ด IPB ในโฮสนอก -*-
บันทึกการเข้า

neo007
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 15



ดูรายละเอียด
« ตอบ #7 เมื่อ: 18 กุมภาพันธ์ 2007, 17:50:50 »

อ้างจาก: "chonyagusa"
โค๊ด:
IPB WARNING [2] mb_substr() [function.mb-substr]: Unknown encoding "TIS-620" (Line: 2794 of /sources/ipsclass.php)


พอมีวิธีแก้ไหมครับ

ปล. บอร์ด IPB ในโฮสนอก -*-


น่าจะเป็น tis620  นะครับ
บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 18 กุมภาพันธ์ 2007, 22:10:45 »

ใช้เป็น UTF-8 แทนครับ อ่านภาษาไทยได้เหมือนกัน
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์