PHP开发中的乱码问题

CSDN炸了一个多月。。终于可以发博客了=_=


编码问题,一定要小心小心再小心。

这两天做数据库设计,遇到了好几次因为编码的问题而出现乱码或者无法输入的情况,总结一下以后省的出错。

1. 数据库要设置成utf8_general_ci,执行命令:

ALTER TABLE `score`
          COLLATE='utf8_general_ci',
          CONVERT TO CHARSET utf8;

2. 数据要设置成utf8格式,在你数据库查询的时候加上一句:

$mysqli->query("set names'utf8'");

应该就没问题了

3. 浏览器也设置成utf8格式

4. 代码文件,我用的是notepad++,在格式选项中有转为UTF-8编码格式,点击它然后Ctrl+S;

做到上面几点应该就没有乱码问题了,如果还有的话,PHP里面可以采用的有iconv,mb_convert_encoding来调试(要在my.ini中开启mbstring功能),给上一个参考代码:

//编码转换 
        functiondisplay_fileencoding($filename) 
        { 
            if(extension_loaded("mbstring")) 
            { 
               $code=mb_detect_encoding($filename);//检测字符串编码 
               $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码 
                return $filename; 
            } 
            else 
                die("请检查系统是否正确安装配置mbstring"); 
        } 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值