แวะกลับมาตอบข้อความสำหรับคำถามนี้ครับผม,
แรกเริ่มเดิมทีคิดว่า มีปัญหาในส่วนของ SQL โดยตรง (เพราะผมคิดว่า Copy มายก โฟลเดอร์แบบนั้น) จึงได้ทำการโพสถามคำถามที่ชวนเพื่อนๆ ปวดหัวไป...
งมโข่ง วนอยู่ในอ่างน้ำ 3 วัน 3 คืน ยังไงก็คิดหาวิธี ไม่ออกครับ
- ยกทั้งโฟลเดอร์ ไปไว้ใน MAMP แล้วรัน ก็ได้ฐานข้อมูลก้อนนั้นมาแล้ว เพียงแต่ วีบูฯ นั่น แต่เดิมมันเป็น latin1
ไหงใน ฐานข้อมูลที่ยกมาทั้งดุ้นนี่กลายเป็ฯ TIS 620 ทั้งหมดหล่ะครับ แย่แล้ว,
ผมทำอะไรพลาดไปหรือเปล่าหว่า ?
โฮสเก่า ทำอะไรกับ ฐานข้อมูลหรือเปล่าว่ะ ?
คนลงให้ตอนนั้นหวังดีเกินไปหรือเปล่า ?
เพราะเราทำงานบน Mac OS X หรือเปล่า ?
เอ๊ะ อะไร ยังไง "งง อึ้ง ทึ้ง กิมกี่ ไปสักพัก" เอาหล่ะ รันเว็ปดีกว่า... ไอ ย๊ะ ภาษาไทยที่มันควรจะเป็นเหมือนใน DB กลายเป็น ????? หมดเลย
ทั้ง Encoding ก็แล้ว ยังเป็น ????? ทำยังไงดีเนี่ย, แว๊บ กลับไปดูที่ phpMyAdmin ก็ปรากฎว่า อ่านภาษาไทยได้ซะงั้น
(ปกติผมอ่านภาษาไทยใน DB ไม่ได้ครับ ไม่ว่าจะ UTF8 หรือ TIS620 ก็ออกมาเป็นอักขระพิสดารอยู่ดี)
แล้วทำไม ไฉนเลย เจ้า DB ตัวนี้ ที่ยกมาทั้งดุ้นนี้ กลายเป็นภาษาไทยให้อ่าน ได้สบายตาหล่ะนิ
"แอบคิดในใจเอาเลยว่า มันเยาะเย้ยเราอยู่, อ่านใน phpMyAdmin ได้ อ่านในหน้าเว็ปไม่ได้ เอ้อ,..."
พยายามแก้ไข + หาวิธี + ปรึกษาพี่ๆ หลายๆ ท่าน ทั้งในเว็ปนี้ และนอกเว็ป บราๆ ตามแต่จะหาเรื่องปรึกษาได้หล่ะครับ
แต่ผลสุดท้ายแล้ว คงไม่มีใครตอบ โจทย์ที่เราต้องการ ได้อย่างลงตัวแน่นอน เลยหล่ะ
"หลากหลายวิธีการ, มีมาให้ทดลอง ซึ่งที่สุดแล้วจะได้ผลลัพธ์ที่เราต้องการเพียงแค่อย่างเดียวเท่านั้น"
(ตรงนี้ต้องบอกก่อนเลยครับ บางวิธีที่คนอื่นถนัดเราอาจจะไม่ได้เรื่อง แต่เรื่องที่เราถนัด คนอื่นก็คงไม่เป็นความเหมือนกัน คิคิ)
"สูงสุดคืนสู่สามัญ"
1.) ผมถามตัวเองว่า ต้องการอะไรจาก DB ชุดนี้
(ต้องการแต่ให้มันอ่านข้อมูลได้เท่านั้น, ไม่ได้ใช้งานมันอีกต่อไป แค่เปิด และดู ไม่มีเพิ่ม ไม่มีเติม ไม่มีโพสต่อจากนี้)
2.) ถ้าต้องการแค่นั้น ก็ทำแค่โค้ดดิ้งให้หน้าเว็ปมันอ่านภาษาไทยได้ก็พอแล้ว ไม่ใช่ ?
(เออ, จริง... เสียเวลาไปจัดการ DB ทำไมนะเรา - เพราะมัวแต่คิดว่า มันไม่เหมือนต้นแบบของมัน จึงจะทำให้มันเหมือน จะได้ไปต่อได้)
3.) แล้ว ตรงไหน หล่ะ ที่จะทำให้ หน้าเว็ปมันแปลภาษาจาก DB ชุดนี้ออกมาเป็นภาษาไทย ?
(ผมมั่วทำไปเรื่อยๆ ตั้งแต่ meta, header ยัน charset ไม่ว่าจะเป็น utl8 หรือ tis620 มั่วให้หมด)
4.) แล้วได้ผลลัพธ์ที่ต้องการไหม ?
(ไม่, ยังไม่ได้ ยังอ่านภาษาไทยเป็น ???? เหมือนเดิม)
5.) โอเค, พลาดตรงไหน ?
ถ้า DB มันถูกทำให้เป็น TIS620 โดยใครก็ไม่รู้ หมายความว่า คนทำต้องมีเหตุผลที่ทำให้เป็นแบบนั้น อืม.,
อาจจะเป็นเพราะว่า เวลาเข้าไปจัดการอะไรๆ ใน phpMyAdmin จะได้สะดวก ต่อการทำงาน ก็เป็นไปได้ แล้ว....?
ถ้าเขาทำแบบนั้นไป แล้ว หน้าเว็ปมันก็ต้องแสดงผลเป็นภาษาไทยได้สินั่น ไม่งั้นคงจะใช้งานไม่ได้ แต่เขาก็ยังใช้มันอยู่ทุกๆ วันกัน ....
อืม., ?????
เอาหล่ะ ลองใช้สมองประมวลผล สักนิดนะเรา...
ใช่แล้ว - เราปล่อยไก่เห็นๆ เราพลาดเองเต็มๆ ประตูเลย ฮ่าๆ... ทำไมน่ะเหรอ ?
เมื่อได้ลองนำเอาข้อมูลวิเคราะห์ จากข้อ 5. มาลองพิจารณาดูแล้ว มันน่าจะเป็นที่การเชื่อมต่อ DB และเรียกข้อมูลนั้นๆ ออกมา
ผ่านพ้นจากช่วงนี้ ก็จะมาถึงโค้ดดิ้งพวก meta, header บราๆ ที่ผมได้มั่วมันมาตั้งนานนม... 555+
เมื่อคิดได้เช่นนั้นจึงได้ วิ่งเข้าหาอากู๋ กูเกิ้ล แล้วหาข้อมูลว่า วิธีแก้ไข เวลาเรียก ข้อมูล ออกมาแล้ว ภาษาไทย แสดงผลเป็น ????
ก็เลยได้คำตอบ ออกมาว่า หลังจาก Connection แล้วให้ทำการ กำหนดลงไปเลยว่า ให้ query ออกมาเป็น charset อะไร...
เอาหล่ะ ที่เหลือ ก็เข้าไปที่ไฟล์ include/ แล้วตามหาไฟล์ db_mysql.php แล้วไล่มองดู ว่ามัน Connection ตรงไหน...
เอิ่ม, ดูไม่รู้เรื่อง มันไม่เหมือนไฟล์ Connection ที่เราเขียนเอง ฮ่าๆ...ทำไงดีหล่ะ มั่วเลยครับ ลองไปให้ทั่วๆ เห็น @mysql_connect...
เดาไปเลยว่ามันคือ การสั่งให้เชื่อมต่อฐานข้อมูล ฮ๋าๆ.... แล้วหลังจากนั้น ก็เอานี่ไป แปะไว้ใกล้ๆ
mysql_query("SET NAMES TIS620");
บ๊ะ ลองดูผลลัพธ์กันดีกว่า... กรี๊ดดดดดดด !!!
ไม่เป็นภาษาไทย และก็ไม่เป็น ????? แต่สิ่งที่ตามมามันเป็นอักขระเจ้ากรรมอย่างที่รู้ๆ กันอยู่ มือเท้าสั่น ดีใจมาก จัดการลอง Encoding ผ่านเบ้าเซอร์
นั่น นั่น นั่น ไง ... ภาษาไทยมาแล้วเจ้าข้าโว้ย....
จากนั้น ไปตามกำหนด header ให้เป็น charset tis620 ซะก็เรียบร้อย เวลาเข้าไปใหม่ หรือไปดูหน้าไหน ก็ไม่ต้อง encoding ใหม่แล้ว...
เรียบร้อย ปิดโปรเจค แสนวุ่นวาย, และต้องขอโทษ เพื่อนที่ช่วยกันปวดหัวด้วยนะครับผม
ขอบคุณทุกคำตอบ ทุกความเห็น และที่สำคัญ กำลังใจ ที่มีให้ ตั้งแต่หลังชนฝา จนพบเจอแสงสว่าง
ขอบคุณจากใจจริงๆ ครับผม
ปล. มันอาจจะยาวไปนะ แต่หวังว่า จะเป็นประสบการณ์ ให้คนอื่นๆ ที่เจอปัญหาลักษณะแบบนี้ ได้พบทางออกเหมือนผมเช่นกัน
โชคดีครับผม ^^