我现在在用PHP写一个简单的系统,包含登陆等功能,我用session来管理会话,但是碰到这样一个问题:如果我用UTF-8格式储存网页,session cookie都没法用,提示Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 之类的,所有与登录有关的全部失效
后来我知道这是UTF-8编码的BOM问题,但我将网页转换为UTF-8无BOM格式后,会话相关功能都正常了,但是页面中的中文全部显示为乱码 @_@ 一看,原来IE自动把编码识别为GB2312了……
我现在真的是没辙了,请问大家这个有解决办法吗,我的数据库等等都是UTF-8编码的,所以我想尽量全站都用UTF-8,谢谢大家了
P.S 我的浏览器是VISTA自带的IE7
后来我知道这是UTF-8编码的BOM问题,但我将网页转换为UTF-8无BOM格式后,会话相关功能都正常了,但是页面中的中文全部显示为乱码 @_@ 一看,原来IE自动把编码识别为GB2312了……
我现在真的是没辙了,请问大家这个有解决办法吗,我的数据库等等都是UTF-8编码的,所以我想尽量全站都用UTF-8,谢谢大家了
P.S 我的浏览器是VISTA自带的IE7
<head>
<!--加上这个没有?-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>或者
<?php
header("Content-type:text/html;charset=utf-8");
?>
就这个啊!
<html>
<head>
<!--加上这个没有?-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
方法二
<?php
header("Content-type:text/html;charset=utf-8");
?>
方法三
看看你的开发环境或工具的编码设置问题
建议楼主换编辑器,比如editplus,vim或eclipse pdt等