当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 出现乱码和Sessions验证问题的解决方法!

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

PHP 出现乱码和Sessions验证问题的解决方法!


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 269 ::
收藏到网摘: n/a

PHP程序语言编码一定要统一为UTF-8或GB2312如果选择其他的语言在里面中文会出现乱码的。

在PHP脚本中读出中文或者其他语言文字为乱码的时候,首先检查你的文件格式是不是用UTF8的编码格式保存的。如果不是请用UltraEdit...等一些对UTF8支持转换的工具转换一下,最好不要用MS的记事本直接另存为转换,我开始的时候就是犯了这样一个错误。如果你是在 Dreamweaver 中编辑请按照:编辑---》首选参数---》新建文档 把语言设置为UTF8编码.

关于SESSION验证问题:一开始我的文档都是用GB2312编写的,后来有一个网站需要用UTF-8的编码,我就把我的一些文件用MS的记事本打开后,另存为UTF-8编码了,没想到他会在脚本程序的文件头加上一句签名(BOM)所以我直接转换了得出的结果就是错误了:Cannot send session cookie - headers already sent by...

郁闷地调试了好久才找出三种解决办法:

第一种是就如刚才所说的,把源来的文件用Dreamweaver 或UltraEdit...等一些对UTF8支持转换的工具转换一下,这是最根本的解决办法;

第二种是在session_start()函数前面 加了一个“@”

第三种是在打开phpinfo(),看看Output_buffering这个参数是否为no value ,是的话设置成 1