PHP编码问题
老声长谈,着是困惑很多人的问题,如果处理不好,都是乱码,说这些话并不是我对编码很精通,只是在这方面是得留神,自己总结了一点小经验(容易出现乱码的地方有php文件里面,数据库里面,页面显示):
1.在于数据打交道的时候mysql_query("set names 'utf-8'");
2.在建数据库的时候,尤其是用phpMyAdmin与MYSQL打交道时候,一般都是utf-8
3.PHP的文件默认的编码是ANSI,需要转换为UTF-8,至于怎么转换editplus就有这样的功能,“另存为”的时候有选择编码,还有有的人在eclipse里面开发,eclipse里面默认的是ISO-8859-1,需要在“窗口”->“首选项”打开“首选项”窗口,在左侧“常规”->“工作空间”,在“文本文件编码”里面设置默认的编码
4.就是PHP文件里面要说明:如<meta http-equiv="Content-Type" Content="text/html;charset=utf-8">
//编码转换
function display_fileencoding($filename)
{
if(extension_loaded("mbsting"))
{
$code=mb_detect_encoding($filename);//检测字符串编码
$filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码
return $filename;
}
else
die("请检查系统是否正确安装配置mbstring");
}
要确保mbstring在你的php.ini中启用
6.还有就是处理中文等双字节的时候也有可能出现乱码,PHP里面可以采用的有iconv,mb_convert_encoding来处理双字节,其余的可以参考PHP帮助手册
7.保证以上几处编码一致就可以了!!如有不对的,请留言指出!!
5.在补充一点(遗漏的一点),在你的程序里面你要知道数据之间的传递也有可能存在编码问题的,但是你有不知道传递过来的数据是采用的什么编码,在PHP里面提供了方法来处理的,下面是自己写的一个简单方法,可以参考一下
相关文档:
PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。
PDO->beginTransa ......
<?php
$url="这里写请求地址";//http://pmtest.webgame.com.cn/d.php
$data="这里写post数据";//如:a=123&b=456 表示传两个参数a和b
$rfr="发出数据的页面的地址";
$cookie="这里写cookie";//如:PHPSESSIDs=123456; b=11212
/*
例子:
$rfr="http://*.c ......
运行环境:windows xp sp2
IIS v5.1
PHP 5.3.1-Win32-VC9-x86
Mysql 5.0
安装步骤:
安装IIS5.1
在 ......
这个系统其实是练习php基本语法和MySQL的基本查询语句。给一起学习的朋友分享。 ^_^
在php文件中,双斜杠后面是注释语句,我用英文写的注释。
整个系统所包含的.htm和.php文件有:
add_que.htm——添加新题的页面
insert.php——显示添加新题信息的页面
questionlist.php——所有问题列 ......
前几天在Firebug扩展开发一文中就提到过Firephp这个基于Firebug的插件,通过使用Firephp你可以在Firebug的Console栏中看到要调试的数据,而不影响php程序的正常执行,所以说,这东西对于Ajax开发是很有帮助的!下面一起来看下Firephp的使用方法。
第一步:安装
1.如果你的FireFox没有Firebug这个插件的话,首先要安装Fire ......