• August 15, 2020

    ทำความเข้าใจกับเครื่องหมาย 
      ??????????????????????????????????????????????????????????????
      เวลาดึงฐานข้อมูลจาก MySQL หรือ phpMyAdmin

      ปัญหานี้เป็นปัญหาจริงหรือ    
    – ไม่ใช่ปัญหาแต่ว่าผู้ใช้ปรับตัวเข้ากับเวอร์ชั่นใหม่ไม่เป็น
      ถ้าไม่ใช่ปัญหาแล้วจะทำยังไงกับ MySQL 5.x , 4.1.x ที่ไม่ยอมเป็นไทย
    – เวลา Connect Database ให้เพิ่มในส่วนของ mysql_db_query($dbname,”SET NAMES tis620″); 
          เพิ่มเข้าไปทุกครั้งมีมีการ Connect
    ทำการเพิ่ม SET NAMES tis620 ไปแล้วแต่ phpMyAdmin เวลา Dump ข้อมูลมันก็ยังเป็น ????? อยู่อีก

        – เปิด my.ini ขึ้นมาโดยกดที่ Start -> run พิมพ์ my.ini แล้วกด Enter ในส่วนของ [client] ให้เพิ่ม
              
    default-character-set = tis620     
    ในส่วนของ [mysqld] หลัง database directory ให้เพิ่ม
               default-character-set = tis620
               character-set-server = tis620
               collation-server = tis620_thai_ci
               init_connect = ‘SET collation_connection = tis620_thai_ci’
               init_connect = ‘SET NAMES tis620’     
    จากนั้น Restart MySQL
      แล้วคนใช้ UTF-8 จะทำยังไงในเมื่อเรา SET ทุกอย่างเป็น tis620 หมด
       – คนใช้ UTF-8 ต้องมา mysql_db_query($dbname,”SET NAMES UTF8″); เองซะแล้ว !!
          ** ในการ Input ข้อมูลต่างๆใน phpMyAdmin นั้นจะไม่มีผลใดๆ กับผู้ใช้ UTF8

    เมื่อก่อนไม่เห็นมีแบบนี้เลยแล้วเมื่อก่อนให้เลือก character set คืออะไร 
    – เมื่อก่อนเป็น Character Set แบบปลอมๆ คือข้อมูลต่างๆที่เก็บลงฐานข้อมูลมันคือ latin1 นั่นเอง

    แล้วทำไม Latin1 มันใช้ภาษาไทยได้หละ แน่นอนอยู่แล้วมันใช้ได้เนื่องจาก latin1 มัน Key map แบบเดียวกะ keyboard ไทย
    และประเทศอื่นๆ ก็เป็น Key Map เดียวกัน แต่สมัยนี้พวกภาษาจะไม่ขึ้นอยู่กับ Key Map ที่เราเห็นอยู่แล้ว (UTF-8)
    *** และที่สำคัญในเวอร์ชั่น 4.0, 3.x มีให้เลือก character set ตรงนั้นไม่ได้มีความหมายว่า 
    เก็บข้อมูลเป็นภาษาไทย ความหมายของมันคือ เรืยงลำดับภาษาไทย  ต่างหาก คนไทยจึงเข้าใจผิดๆ มานาน กับ tis620 ใน MySQL แม้ว่าจะเลือก charset เป็น latin1 มันก็เก็บข้อภาษาไทยได้ เพียงแต่เรียงลำดับภาษาไทยไม่ได้เท่านั้น

    แล้วทำไมสมัยนี้ MySQL ทำไมยุ่งยากกว่าเดิมเยอะ  
    – มันไม่ได้ยุ่งยากอยู่ที่เราจะปรับตัวมากกว่า อย่ายึดติดกับหนังสือตามห้องสมุด เพราะที่ท่านอ่านมันเป็นความรู้เก่าๆ ที่เค้าขายกัน มันตกยุคไปนานโขแล้ว เริ่มต้นทำความเข้าใจกับ MySQL ใหม่ เพราะที่มองเห็นว่ายุ่งยากกว่าเดิมจริงๆ ไม่ใช่ ควรเรียกว่าเป็นทางเลือกใหม่จะเหมาะสมกว่า เพราะว่าระดับภาษาของ MySQL จะเจาะลึกลงไปเยอะมากคือ
            – ต้องกำหนดภาษาเมื่อ Connect to Database
            – ต้องกำหนดภาษาเมื่อ Create Database (การเรียงลำดับ)
            – ต้องกำหนดภาษาเมื่อ Create Table (การเรียงลำดับ)
            – ต้องกำหนดภาษาเมื่อ Create Field (การเรียงลำดับ)

    รู้ปัญหามานานแล้วทำไมพึ่งมาบอก ??
    – เพราะเลิกใช้ TIS-620 ไปแล้ว ตอนนี้ใช้แต่ UTF-8 ดีกว่า
    ความเสถียรของ MySQL 5.x เป็นยังไงบ้างเมื่อเทียบกับตัวเวอร์ชั่นเก่าๆ
    – เสถียรกว่าเวอร์ชั่นเก่าๆ มาก ไม่มีอาการ Crash อิดๆ ออดๆ เหมือนแต่ก่อน

    PHP5 ทำไมมี Bug เยอะจัง 
    – อันนี้ก็เข้าใจผิดๆ อีกเรื่องหนึ่งที่เจอกันเยอะมาก เข้าใหม่เสียว่า ที่ดูเป็น Bug ที่เห็นนั่นแหละ 
    คือเราเองเขียน Source Code ผิด เนื่องจาก PHP5 มี Sesnsitive มากๆ เกี่ยวกับการเขียน Code หลังจากที่
    เลือกใช้ PHP5 จึงรู้ว่าที่คิดว่าผมเขียนโปรแกรมถูกนั้น ปรากฏว่าเจอ Error มากมาย ต้องมาไล่แก้ code ใหม่อีกครั้ง ซึ่ง Error ที่แจ้งออกมา เราจะเห็นได้ว่าเราเขียนผิดเองจริงๆ และทำให้มองย้อน กลับไปที่ PHP4 จึงทำให้รู้ว่า PHP4 นี่แหละที่มี Bug เยอะกว่า PHP5เพราะว่าไม่ยอมแจ้งข้อผิดพลาดขึ้นมาเลย ทั้งๆ ที่มีผิดอยู่เห็นๆ PHP5 ยังทำงานเร็วกว่า PHP4 เพราะเนื่องจากว่า PHP5 เลือกใช้ Zend Engine 2 ความเร็วเพิ่มขึ้นมาประมาณ 20% และลด Load CPU ของ Server ลงไปเยอะมาก

    https://www.appserv.org/en/version-history/



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories


Uncategorized