function fgetcsv with Thai Language

ฟังก์ชั่น fgetcsv ใช้สำหรับอ่านไฟล์ csv โดยมันจะทำการ parse ออกมาเป็น Array ให้เราเลยครับ. แต่ก่อนตอนที่ผมยังไม่รู้จักคำสั่งนี้ นั่งเขียนตัว Parse เองตั้งนานครับ แถมยังมีบั๊กอีกต่างหาก (- -‘)

เข้าเรื่องครับ… ผมยังไม่ได้ศึกษาอย่างจริงจังเหมือนกัน ว่าสาเหตุมันคืออะไรกันแน่ (เพราะขี้เกียจครับ) เอาเป็นบอกปัญหาและวิธีแก้เลยละกันนะครับ

ปัญหา คือ มันไม่สามารถ parse ภาษาไทยได้ครับ  (เฉพาะบาง server ที่มี setting อะไรบางไม่ปรกติ)

วิธีแก้ ก็ง่ายๆ ครับ.. ใช้คำสั่ง  setlocale  ครับ.  ประมาณนี้

<?php
    setlocale ( LC_ALL, 'en_US.UTF-8' );
    ...
    ...
    $fields = fgetcsv ( $fp , $maxlength , $separator );
?>

ผมก็ยังไม่ได้ค้นคว้าเหมือนกันว่า มันมีตัวเลือกอะไรบ้าง และมีผลอย่างไร  แต่เอาเป็นว่าให้ใช้งานได้พอครับ

Leave a Reply

Your email address will not be published. Required fields are marked *