วันพุธที่ 20 สิงหาคม พ.ศ. 2551

session ใน PHP 4 กับ UTF-8

ในระหว่างการพัฒนา web หนึ่งโดยใช้ notepad++ เป็น editor ในการพัฒนา php ควบคุม session ปรากฎว่าไม่ว่าจะเขียนโปรแกรมอย่างไร ก็จะมีปัญหาเรื่อง php แจ้งเตือนว่าไม่สามารถใช้งาน session ได้เพราะว่า cookie ซ้ำ หรือ ไม่สามารถส่ง cookie ได้ ดังตัวอย่าง

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\guestbook\guestbook_del_confirm.php:1) in C:\AppServ\www\guestbook\guestbook_del_confirm.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\guestbook\guestbook_del_confirm.php:1) in C:\AppServ\www\guestbook\guestbook_del_confirm.php on line 2


จากตัวอย่างดังกล่าวปัญหาเกิดจากในตอนพัฒนาโปรแกรมนั้นการ encoding ตัวอักษรได้เลือกเป็น utf-8 ดังนั้นการแก้ปัญหาดังกล่าวทำได้โดยการเปลี่ยน encodeing อื่นๆ ที่ไม่ใช้ utf-8 เช่น utf-8 without BOM หรือ ascii เป็นต้น

ไม่มีความคิดเห็น: