วันนี้พบปัญหา editor ไม่ refresh เมื่อ paste ข้อมูลที่มี chr(10)

line feed was hidden in editplus when i paste data from excel cell
line feed was hidden in editplus when i paste data from excel cell

เล่าสู่กันฟัง

– เหตุเกิดจากพัฒนา thaiall.com/research/glossary.php และ glossary.xlsx
– โดยเริ่มทำข้อมูลใน excel 2010 แล้วมีบาง cell ที่ใส่ข้อมูลเป็น \n หรือ chr(10) หรือรหัสตัดบรรทัด
– แล้วคัดลอกทั้งหมดไปวางใน editplus 2 ซึ่งวางข้อมูลทั้งหมดเข้าไปในตัวแปรตัวหนึ่ง
– แล้ว split ด้วย \n ปรากฎว่าผลการแยกไม่ถูกต้อง จึงสงสัยว่าข้อมูลหลังวางแล้วเป็นอะไรกันแน่ใน glossary.php
– เมื่อมองด้วย debug ถึงทราบว่า editplus ไม่ refresh
– ถ้า refresh ก็ต้องมีการตัดบรรทัดหลัง paste ข้อมูลที่มี chr(10) ลงไป
– เมื่อปิดโปรแกรม editplus แล้วเปิดใหม่ ก็พบว่าข้อมูลมีการปัดบรรทัดในตำแหน่งที่สงสัยจริง
– ทำให้ทราบว่าข้อมูลที่ paste จาก excel จะทำให้เกิดการปัดบรรทัด แต่ไม่แสดงผลในทันทีบน editplus 2
– จึงแก้ไขด้วยการเติมอักษรพิเศษที่ cell แรกของระเบียน แล้ว split ตามอักษรพิเศษนั้นแทนการใช้ \n
– ผมเลือก 255 เพราะไม่คิดว่า text ธรรมดาจะต้องใช้อักษรนี้

เพิ่มเติม

เหตุที่ไม่ใช้ระบบฐานข้อมูล ก็เพื่อให้เพื่อน ๆ ที่สนใจข้อมูล สามารถ  download glossary.xlsx ไปใช้ต่อยอดได้ การกรอกข้อมูลก็สะดวกผ่าน excel จะย้ายไปประมวลผลบน server ตัวใดก็ทำได้ทันที  หรืออาจมีเพื่อนมาช่วยปรับข้อมูลก็สามารถทำได้ง่าย ไม่ต้องคิดเรื่อง import , export ให้ซับซ้อน