Difference between revisions of "Remove BOM (Byte order mark)"

From P&T Knowledgebase
Jump to: navigation, search
(Created page with "Category:PHP โปรแกรม Editor บางตัว เวลาเราบันทึกไฟล์เป็น UTF-8 ตัวโปรแกรมจะแท...")
 
 
Line 9: Line 9:
 
# คลิกเข้าไปตามโฟลเดอร์จนไปเจอไฟล์ที่คุณต้องการแก้ไข
 
# คลิกเข้าไปตามโฟลเดอร์จนไปเจอไฟล์ที่คุณต้องการแก้ไข
 
# คลิกที่ Edit ตรงไฟล์ที่ต้องการแก้ไข<br/>{{fullurl:Img/2010-10-18_1732.png}}<br/><br/>
 
# คลิกที่ Edit ตรงไฟล์ที่ต้องการแก้ไข<br/>{{fullurl:Img/2010-10-18_1732.png}}<br/><br/>
# คุณจะเห็นว่ามีอักขระแปลกๆ แทรกอยู่ที่หัวไฟล์ (มันคือ BOM)<br/>{{fullurl:Img/2010-10-18_1735.png}}<br/><br/>
+
# คุณจะเห็นว่ามีอักขระแปลกๆ แทรกอยู่ที่หัวไฟล์ (มันคือ BOM)<br/>{{fullurl:Img/2010-10-18_1735.png}}<br/><br/><b style="color:red;">หมายเหตุ:</b> ในกรณีที่ Encoding ของ Browser เป็น UTF-8 คุณจะมองไม่เห็นอักขระดังกล่าว แต่คุณสามารถลบมันออกได้เหมือนกัน โดยคลิกที่บรรทัดแรก แล้วกดคีย์ [Home] บนคีย์บอร์ด เพื่อเลื่อน Cursor ไปที่ด้านหน้าสุดของบรรทัด แล้วให้กดคีย์ [Del] บนคีย์บอร์ด เพื่อลบอักขระ BOM ออก<br/><br/>
 
# ให้ลบออกอักขระดังกล่าวออกครับ<br/>{{fullurl:Img/2010-10-18_1737.png}}<br/><br/>
 
# ให้ลบออกอักขระดังกล่าวออกครับ<br/>{{fullurl:Img/2010-10-18_1737.png}}<br/><br/>
 
# กดปุ่ม Save As ที่ด้านล่าง<br/>{{fullurl:Img/2010-10-18_1738.png}}<br/><br/>
 
# กดปุ่ม Save As ที่ด้านล่าง<br/>{{fullurl:Img/2010-10-18_1738.png}}<br/><br/>

Latest revision as of 02:49, 6 October 2012

โปรแกรม Editor บางตัว เวลาเราบันทึกไฟล์เป็น UTF-8 ตัวโปรแกรมจะแทรก BOM (Byte order mark) เอาไว้ที่ส่วนหัวของไฟล์ด้วย ทำให้มีปัญหากับโปรแกรม PHP พวกคำสั่ง header และ session_start เพราะว่าก่อนเรียก 2 คำสั่งนี้ จะต้องไม่มี output ที่ออกมาก่อนเลย ถ้ามี BOM มาแทรกที่ตอนแรก ก็จะทำให้เกิด Error ลักษณะนี้

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 
(output started at /home/username/domains/username.com/public_html/index.php:1) in /home/username/domains/username.com/public_html/index.php on line 9

วิธีแก้ คือ ต้องลบ BOM ที่หัวไฟล์ออกครับ. แต่ถ้าใช้ Editor ทั่วๆ ไป บางทีจะมองไม่เห็นครับ วิธีที่ได้ผล 100% คือ ให้ใช้ File Manager ใน DirectAdmin มาแก้ครับ ซึ่งมีขั้นตอนดังนี้ครับ

  1. เปิด DirectAdmin เข้าที่เมนู File Manager
  2. คลิกเข้าไปตามโฟลเดอร์จนไปเจอไฟล์ที่คุณต้องการแก้ไข
  3. คลิกที่ Edit ตรงไฟล์ที่ต้องการแก้ไข
    2010-10-18_1732.png

  4. คุณจะเห็นว่ามีอักขระแปลกๆ แทรกอยู่ที่หัวไฟล์ (มันคือ BOM)
    2010-10-18_1735.png

    หมายเหตุ: ในกรณีที่ Encoding ของ Browser เป็น UTF-8 คุณจะมองไม่เห็นอักขระดังกล่าว แต่คุณสามารถลบมันออกได้เหมือนกัน โดยคลิกที่บรรทัดแรก แล้วกดคีย์ [Home] บนคีย์บอร์ด เพื่อเลื่อน Cursor ไปที่ด้านหน้าสุดของบรรทัด แล้วให้กดคีย์ [Del] บนคีย์บอร์ด เพื่อลบอักขระ BOM ออก

  5. ให้ลบออกอักขระดังกล่าวออกครับ
    2010-10-18_1737.png

  6. กดปุ่ม Save As ที่ด้านล่าง
    2010-10-18_1738.png