กระดานแสดงความคิดเห็น
Home
Contents
Articles
Quiz
Members
Sponsor
Print-friendly
MENU
ปรับปรุง : 2566-10-15 (กระดานแสดงความคิดเห็น)
เว็บเพจหน้านี้สำหรับผู้ดูแลเท่านั้น
รหัส secure
=>
นำตัวอักษร สีขาวบนพื้นแดง มาป้อนในช่องนี้
edit_topic_password =>
<center><table width=90% border=0 bgcolor=#000080><tr><td><font color=white size=4>ทำความเข้าใจกับ MySQL 5.x, 4.x และ PHP เวอร์</td></tr></table><table width=90% bordercolor=#000080 border=1><tr><td bgcolor=white><br>http://www.appservnetwork.com/modules.php?name=News&file=article&sid=5<br /> ทำความเข้าใจกับ MySQL 5.x, 4.x และ PHP เวอร์ชั่น 5<br /> Posted on Saturday, October 07 @ 16:13:50 ICT by apples <br /> <br /> <br /> ทำความเข้าใจกับเครื่องหมาย <br /> ??????????????????????????????????????????????????????????????<br /> ??????????????????????????????????????????????????????????????<br /> เวลาดึงฐานข้อมูลจาก MySQL หรือ phpMyAdmin<br /> <br /> ปัญหานี้เป็นปัญหาจริงหรือ<br /> - ไม่ใช่ปัญหาแต่ว่าผู้ใช้ปรับตัวเข้ากับเวอร์ชั่นใหม่ไม่เป็น<br /> <br /> ถ้าไม่ใช่ปัญหาแล้วจะทำยังไงกับ MySQL 5.x , 4.1.x ที่ไม่ยอมเป็นไทย<br /> - เวลา Connect Database ให้เพิ่มในส่วนของ mysql_db_query($dbname,"SET NAMES tis620"); <br /> เพิ่มเข้าไปทุกครั้งมีมีการ Connect <br /> <br /> ทำการเพิ่ม SET NAMES tis620 ไปแล้วแต่ phpMyAdmin เวลา Dump ข้อมูลมันก็ยังเป็น ????? อยู่อีก<br /> - เปิด my.ini ขึ้นมาโดยกดที่ Start -> run พิมพ์ my.ini แล้วกด Enter<br /> ในส่วนของ [client] ให้เพิ่ม<br /> default-character-set = tis620<br /> ในส่วนของ [mysqld] หลัง database directory ให้เพิ่ม <br /> default-character-set = tis620<br /> character-set-server = tis620<br /> collation-server = tis620_thai_ci<br /> init_connect = 'SET collation_connection = tis620_thai_ci'<br /> init_connect = 'SET NAMES tis620'<br /> จากนั้น Restart MySQL<br /> <br /> แล้วคนใช้ UTF-8 จะทำยังไงในเมื่อเรา SET ทุกอย่างเป็น tis620 หมด<br /> - คนใช้ UTF-8 ต้องมา mysql_db_query($dbname,"SET NAMES UTF8"); เองซะแล้ว !!<br /> ** ในการ Input ข้อมูลต่างๆใน phpMyAdmin นั้นจะไม่มีผลใดๆ กับผู้ใช้ UTF8<br /> <br /> เมื่อก่อนไม่เห็นมีแบบนี้เลยแล้วเมื่อก่อนให้เลือก character set คืออะไร<br /> - เมื่อก่อนเป็น Character Set แบบปลอมๆ คือข้อมูลต่างๆที่เก็บลงฐานข้อมูลมันคือ latin1 นั่นเอง<br /> แล้วทำไม Latin1 มันใช้ภาษาไทยได้หละ แน่นอนอยู่แล้วมันใช้ได้เนื่องจาก latin1 มัน Key map แบบเดียวกะ keyboard ไทย<br /> และประเทศอื่นๆ ก็เป็น Key Map เดียวกัน แต่สมัยนี้พวกภาษาจะไม่ขึ้นอยู่กับ Key Map ที่เราเห็นอยู่แล้ว (UTF-8)<br /> *** และที่สำคัญในเวอร์ชั่น 4.0, 3.x มีให้เลือก character set ตรงนั้นไม่ได้มีความหมายว่า เก็บข้อมูลเป็นภาษาไทย<br /> ความหมายของมันคือ เรืยงลำดับภาษาไทย ต่างหาก คนไทยจึงเข้าใจผิดๆ มานาน -_-' กับ tis620 ใน MySQL<br /> ไม่ก็ลองย้อนไปดูได้ครับแม้ว่าจะเลือก charset เป็น latin1 มันก็เก็บข้อภาษาไทยได้ เพียงแต่เรียงลำดับภาษาไทยไม่ได้เท่านั้น<br /> <br /> แล้วทำไมสมัยนี้ MySQL ทำไมยุ่งยากกว่าเดิมเยอะ<br /> - มันไม่ได้ยุ่งยากหรอกครับ มันอยู่ที่เราจะปรับตัวมากกว่า อย่ายึดติดกับหนังสือตามห้องสมุด เพราะที่ท่านอ่านมันเป็นความรู้เก่าๆ<br /> ผมไม่ได้บอกว่าหนังสือที่เค้าขายกํนมันไม่ดีนะครับ เพียงแต่อยากจะบอกว่าที่เค้าขายกัน มันตกยุคไปนานโขแล้ว<br /> เริ่มต้นทำความเข้าใจกับ MySQL ใหม่ เพราะที่มองเห็นว่ายุ่งยากกว่าเดิมจริงๆ ไม่ใช่ ควรเรียกว่าเป็นทางเลือกใหม่จะเหมาะสมกว่า<br /> เพราะว่าระดับภาษาของ MySQL จะเจาะลึกลงไปเยอะมากคือ<br /> - ต้องกำหนดภาษาเมื่อ Connect to Database<br /> - ต้องกำหนดภาษาเมื่อ Create Database (การเรียงลำดับ)<br /> - ต้องกำหนดภาษาเมื่อ Create Table (การเรียงลำดับ)<br /> - ต้องกำหนดภาษาเมื่อ Create Field (การเรียงลำดับ)<br /> <br /> รู้ปัญหามานานแล้วทำไมพึ่งมาบอก ??<br /> - เพราะผมเลิกใช้ TIS-620 ไปแล้ว ตอนนี้ใช้แต่ UTF-8 ดีกว่าเยอะ !!<br /> <br /> ความเสถียรของ MySQL 5.x เป็นยังไงบ้างเมื่อเทียบกับตัวเวอร์ชั่นเก่าๆ<br /> - เสถียรกว่าเวอร์ชั่นเก่าๆ มาก ไม่มีอาการ Crash อิดๆ ออดๆ เหมือนแต่ก่อน ดังนั้น แนะนำให้ใช้เป็นอย่างยิ่ง<br /> <br /> PHP5 ทำไมมี Bug เยอะจัง <br /> - อันนี้ก็เข้าใจผิดๆ อีกเรื่องหนึ่งที่เจอกันเยอะมาก เข้าใหม่เสียว่า ที่ดูเป็น Bug ที่เห็นนั่นแหละ <br /> คือเราเองเขียน Source Code ผิด เนื่องจาก PHP5 มี Sesnsitive มากๆ เกี่ยวกับการเขียน Code หลังจากที่<br /> ผมเลือกใช้ PHP5 ผมจึงรู้ว่าสมองอันน้อยนิดที่คิดว่าผมเขียนโปรแกรมถูกนั้น ปรากฏว่าเจอ Error กระจาย<br /> ต้องมาไล่แก้ code ใหม่อีกครั้ง ซึ่ง Error ที่แจ้งออกมา เราจะเห็นได้ว่าเราเขียนผิดเองจริงๆ และทำให้ผมมองย้อน<br /> กลับไปที่ PHP4 จึงทำให้รู้ว่า PHP4 นี่แหละที่มี Bug เยอะกว่า PHP5เพราะว่าไม่ยอมแจ้งข้อผิดพลาดขึ้นมาเลย<br /> ทั้งๆ ที่มีผิดอยู่เห็นๆ บทพิสูจน์นี้ทดสอบบน Domain ที่อยู่ใน Hosting ผมกว่า 60 กว่าโดเมนสามารถทำงาน<br /> ได้กับ PHP5 ได้อย่างไม่มีปัญหาใดๆ เลยแม้แต่น้อย อีกทั้ง PHP5 ยังทำงานเร็วกว่า PHP4 เพราะเนื่องจากว่า PHP5 <br /> เลือกใช้ Zend Engine 2 นั่นเองจึงทำให้ความเร็วเพิ่มขึ้นมาประมาณ 20% และลด Load CPU ของ Server <br /> ลงไปเยอะมาก<br /> <br /> แล้วแบบนี้ก็ต้องหันมาใช้ PHP5 แทนที่ PHP4 ใช่ไหม ?<br /> - อันนี้ขึ้นอยู่กับความชอบของแต่ละคน แต่ถ้าให้ผมแนะนำใช้เถอะครับ เพราะตอนนี้ PHP6 เค้าจะออกมากอีกแล้ว<br /> แต่ว่าตอนนี้คุณยังไม่ได้เริ่มต้นที่จะทดลองใช้ PHP5 เลย ขืนใช้ PHP4 แล้ว Upgrade เป็น PHP6 <br /> ผมรับประกันได้เลยว่าคุณต้องปวดหัวแบบสุดๆ แน่นอน !! แล้วจะมาบอกอีกไม่ได้ว่า PHP5 และ PHP6 เค้ามี Bug !<br /> ใช้ PHP4 แทนแล้วกัน ก็ขอยืนยันอีกครั้งว่า Source Code ของคุณจะเป็น Source Code รุ่นโบราณที่สุดในโลก<br /> ==========================================<br /> http://numvarn.wordpress.com/2007/01/12/thai-language-in-php-and-mysql5/<br /> mysql_select_db($dbname);<br /> <br><br></td></tr><tr><td align=right bgcolor=black><font color=white><small><b>จากคุณ :</b> บุรินทร์ <a href=mailto:></a><a title='122.154.225.4'>.</a><br> 10:32pm (22/01/08)</font></td></tr></table></center>