因为PHP 连接数据库的过程中会经过三次编码转换,比如输出的的时候 MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8页面的Result(UTF-8) 这时两种编码不兼容则产生乱码。
成都创新互联从2013年创立,先为拉孜等服务建站,拉孜等地企业,进行企业商务咨询服务。为拉孜企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。
页面代码里面要设置charset=utf-8 保存页面文件时要编码格式为utf-8 数据库有关的表、字段、的编码为utf8-general-ci 还不对的话,看下面。
字符集选择UTF8,MySQL 连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。与平时的脚本编辑环境有关。
1、你把文件保存成UTF-8看下 文件默认编码是和IDE 有关的。
2、set names 只是告诉数据库,取出和存入的字符编码是什么,与数据库内部使用什么编码储存没有关系。
3、解决乱码有几种方式:在读取数据库的时候设置连接编码:mysql_query(set names utf8);在读取数据库的php文件的头部加:header(Content-type:text/html;charset=utf-8);php文件不是utf8格式的编码,需要转化。
4、将浏览器中的编码改成utf-8,数据库中也是。在php页面首行加上header(Content-type:text/html;charset=utf-8);,必须首行,前面不能有输出。
另外注意文件本身的编码与html代码头meta中的编码说明保持一致。
一般来说,乱码问题其实也就是编码不一致导致的。
SET NAMES UTF8 校正一下连接编码 因为PHP 连接数据库的过程中会经过三次编码转换,比如输出的的时候 MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8页面的Result(UTF-8) 这时两种编码不兼容则产生乱码。
php数据库中文乱码的解决办法:创建数据库时,规定字符类型为uft8;创建表时,规定字符类型为utf8;在PHP的MySQL连接函数中,添加语句“mysql_query(set names utf8)。
meta 头里 写 是 gbk 或者 gb2312 没有叫 gbk2312的 检查PHP文件本身的编码 ,一般在 editplus 打开后 右下角能看到 ansi 就算正常了。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款