看板 PHP 關於我們 聯絡資訊
我在 Ultraedit 打入下面程式碼: <?php session_start(); ?> (一共三行, <?php 前完全沒有任何空白或換行) 然後點選功能表: 檔案 / 轉換 / ASCII 轉 UTF-8 儲存成 .php 檔, 執行後會出現錯誤訊息: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\web\xxx.php:1) in E:\web\xxx.php on line 2 我換用 Dreamweaver 編輯就不會有這樣的問題, 後來我在網路上查詢後, 發現是 Ultraedit 在編輯 utf-8 的檔案時, 會在檔案的最前面偷偷加上 BOM 控制字元, 而 PHP 不認得這種控制字元, 就把它當作是一般字元輸出, 造成之後的 header functions 無法使用, 本來想說將 BOM 關掉就好了, 不過我的 Ultraedit 是 10.10 版, 竟然找不到 BOM 的相關選項, 請問除了換編輯器之外, 有沒有人知道其他解決方法? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.133.199
alpe:去找一下UE的設定... 有一個檔案要改 04/28 13:53
tonytsai88:我用的是 10.20 版,轉 UTF-8 沒有問題 04/28 20:02
mkjplayer:UTF-8用session_start()前面要加上"@" 04/29 18:04
mkjplayer:變成@session_start(); @是指忽略錯誤 04/29 18:04
huenlil:存檔時選擇存成沒有BOM的UTF8 04/29 21:46