作者eliang ()
看板PHP
标题[请益] Ultraedit 编辑 UTF8 php 档的问题
时间Fri Apr 28 13:20:17 2006
我在 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
1F:推 alpe:去找一下UE的设定... 有一个档案要改 04/28 13:53
2F:→ tonytsai88:我用的是 10.20 版,转 UTF-8 没有问题 04/28 20:02
3F:推 mkjplayer:UTF-8用session_start()前面要加上"@" 04/29 18:04
4F:→ mkjplayer:变成@session_start(); @是指忽略错误 04/29 18:04
5F:→ huenlil:存档时选择存成没有BOM的UTF8 04/29 21:46