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");
}