PHP กับภาษาไทยที่เรียกมาจาก MySQL

รูปภาพของ wijitanu
wijitanu
Rating 2
Posts: 36
Joined: 11-04-2004

ผมได้ทำให้เครื่องของผมเป็น Web server โดยเอา Apache2 PHP5 MySQL5 มาลง แล้วก็มีปัญหาบวกกับความงงเกี่ยวกับภาษาไทยที่ Browser รับมาจาก MySQL ขอเล่าความเป็นมาเดิมอย่างนี้ครับ เดิมผมมีระบบงานที่ทำงานแบบ Client / Server โดยที่ Server มี MySQL เป็น Back end ทั้งหมดทำงานบน Windows ซึ่งเมื่อเวลาผ่านไปพบกับปัญหาไม่พึงประสงค์มากมายจึงหันหน้ามาหา Linux และได้พยายามจัดสิ่งแวดล้อมให้คล้ายกันเพื่อทดสอบความเป็นไปได้ของการย้าย Platform โดยมีข้อแม้ว่าต้องไม่กระทบถึงข้อมูล ลองผิดลองถูกหลายวิธีจนสามารถ Dump ฐานข้อมูลจากระบบเดิมมาลงใน Linux ได้สำเร็จโดยตรวจสอบจาก MySQL Query Browser แต่ก็ไม่เข้าใจหรอกว่าระบบทั้งหลายมันทำงานอย่างไร รู้นิดหน่อย(ก็จากเรื่อง Grave ที่คุณจักรนันท์ได้ชี้แจงไว้ยืดยาวนั่นแหละ) ว่าค่าย MS ใช้ Windows-874 ซึ่งบังเอิญเหมือนกันกับ TIS620 ในขณะที่ค่าย Open source ใช้ UTF8 ซึ่งเป็นแนวโน้มของอนาคตด้วย และเมื่อเรียกข้อมูลด้วย Browser กลับได้ ??????? ในส่วนที่เป็นภาษาไทย จึงเข้ามาค้นหาความรู้ที่นี่อีกครั้ง พบว่า node/7310 และ node/4697 มีเนื้อหาต่อเนื่องและใกล้เคียงที่สุดจึงลองนำหลักการมาประยุกต์ใช้ นั่นคือใส่บรรทัด

mysql_query('set NAMES tis620');

ถัดจากบรรทัดที่ทำการ Connect แล้วก็ได้ผลจริงๆ คุณจักรนันท์นี่เก่งมากแต่ชอบถ่อมตัว ทีหลังนะคุณจักรนันท์ไม่ต้องกลัวว่าจะเอามะพร้าวห้าวมาขายสวนหรอก คุณน่ะห้าวสุดแล้ว ขอบคุณครับคุณจักรนันท์

วิจิตร์

ปล. ถึงวันนี้ผมเพิ่งรู้ว่า MySQL Encode ข้อมูลเป็น UTF8 เป็นความรู้ที่มีประโยชน์อย่างยิ่ง ผมไม่ต้องซมซานหาวิธีแปลงข้อมูลอย่างที่คิดว่าเป็นทางแก้ปัญหาอีกต่อไปแล้ว น่าจะรอดตายกันคราวนี้ถ้าไม่โดนลูกค้าเชือดเสียก่อน

--

Box1: Acer TravelMate 4720,Intel Core2,1Gb,Online=office hour Mon-Fri

Box2: ECS Green772,Intel Celeron,256Mb,Online=never

Both: OS=Hua Hin,Apache2 and PHP v 5.2.3 Ubuntu 6.3 installed (upgraded to 7.10),

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 539
Joined: 10-12-2004
อยากเป็นมะพร้าวอ่อนค้างต้นครับ

พอห้าวแล้วตกลงดิน เน่าทิ้ง...  เกิด แก่ เจ็บ ตาย... ธรรมดา

เมื่อสามารถ Dump ข้อมูลออกมาได้แล้ว ท่านจะสามารถ Import ต่อไปยัง SQL Engine อื่นๆ ได้ด้วยนะครับ นั่นหมายความเช่นว่า หากประสงค์จะเปลี่ยนจาก M$ SQL มาใช้ MySQL จะได้ไหม? ขอตอบเลยว่า "ทำได้" ครับ ก็ Export ออกมาจาก M$ SQL ก็จะได้ออกมาเป็น Text ไฟล์ที่มี Statement เป็น SQL มาตรฐาน แล้วนำเข้า MySQL ได้เลยเหมือนกันครับ แต่อย่าลืม... ไปเพิ่ม set NAMES เสียก่อนนะครับ

หัด Dump ข้อมูลกันให้คล่อง ผมอยากเห็นท่านทั้งหลายทำกันจนเป็นเรื่อง "หมูๆ" เพราะผมเห็นคำถามมานานและจำนวนมากแล้ว และต่างพากันไปสำเนาไฟล์กันตรงๆ ทื่อๆ ติดปัญหากันวุ่นวายไปใหญ่ ทั้งที่มันเป็นแค่เรื่อง "หมูๆ" เมื่อ Dump เป็นกัน

ควรทำได้โดยไม่มี Downtime เลยด้วยซ้ำ และใช้เวลาเพียงไม่กี่วินาทีต่อ หนึ่งแสน Records

เชื่อผมครับ ที่จริงมันง่ายจริงๆ อย่าไปหลงตาม M$ Windows Administrator ที่มัก *พล่าม* ให้มันฟังดูยุ่งยากสลับซับซ้อนเสียเหลือเกิน เลยเถิดไปจนน่ากลัวประมาณว่า แตะต้องไม่ได้ อาจเจ๊งได้ เปราะบางเสียเหลือเกิน

Syndicate content