php utf-8乱码的处理方法:一、正在“my.ini”文件中查找,并修正编码为“utf8”;二、设置语句为“mysql_query("set names 'utf8'");”;三、正在“文本文件编码”外面设置默许的编码为“utf8”。
处理php utf-8 乱码成绩
1.正在建数据库的时分,尤为是用phpMyAdmin与MYSQL打交道时分,普通都是utf-8,字段为 utf8_general_ci
数据库的设置:
正在my.ini文件中查找:
[mysql] default-character-set = utf8 [mysqld] default-character-set = utf8 init_connect = 'SET NAMES utf8 '
全副设置为utf8
保留,从新启动mysql效劳
2.正在与数据打交道的时分mysql_query("set names 'utf8'");留意是:utf8,没有是 utf-8
3.PHP的文件默许的编码是ANSI ,需求转换为UTF-8 ,至于怎样转换editplus就有这样的性能,“另存为”的时分有抉择编码UTF-8 ,留意:不克不及抉择:UTF-8 + BOM,假如抉择这个了 ,你正在解决session的时分就会呈现成绩,以是肯定要留意.另有有的人正在eclipse,Myeclipse,ZendStudio外面开发,eclipse外面默许的是ISO-8859-1,需求正在“窗口 ”->“首选项 ”关上“首选项”窗口,正在左侧“惯例 ”->“工作空间 ”,正在“文本文件编码 ”外面设置默许的编码为utf-8
4.就是PHP文件外面要阐明:如<meta http-equiv="Content-Type" Content="text/html;charset=utf-8">
或许
代码以下:
<?php header('Content-Type:text/html;charset=utf-8');?>
5.另有就是解决中文等双字节的时分也有可能呈现乱码,PHP外面能够采纳的有iconv,mb_convert_encoding来解决双字节,其他的能够参考PHP协助手册
6.正在增补一点(脱漏的一点),正在你的顺序外面你要晓得数据之间的通报也有可能存正在编码成绩的,然而你又没有晓得通报过去的数据是采纳的甚么编码,正在PHP外面提供了办法来解决的,上面是本人写的一个简略办法,能够参考一下
代码以下:
//编码转换 function display_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"); }
要确保mbstring正在你的php.ini中启用
7.保障以上几处编码分歧就能够了!!数据库,网页输入都没有会呈现乱码了,若有不合错误的,请留言指出!!
更多相干文章,请拜访PHP中文网!
以上就是php utf-8 乱码成绩怎样处理的具体内容,更多请存眷资源魔其它相干文章!
标签: php教程 php故障解决 php使用问题 utf-8
抱歉,评论功能暂时关闭!