php读取mysql中文乱码怎么解决?

青灯夜游
青灯夜游 原创
2023-03-02 15:30:01 2518浏览

解决方法:1、在网页文件中使用设置UTF-8编码;2、新建数据库时设置UTF-8编码;3、PHP连接数据库时,使用“mysql_query("set names 'utf8'");”设置数据的字符集为utf-8。

MySQL对中文的支持程度还是很有限的,尤其是新手,但凡出现乱码问题,就会头大。

乱码问题:

用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号。

症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号。

原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字。

解决方法:

1、网页文件head设置编码

<meta charset="UTF-8">

2、PHP页面在保存的时候使用utf-8编码保存,可以用记事本或convertz802转换文件

3、在MYSQL中新建数据库的时候,数据库选择UTF-8编码,既字符集设定为 utf-8_unicode_ci(Unicode (多语言),不区分大小写),

库里面 表table的 整理 设置为 utf-8_general_ci

表里面的每个字段的 整理 都设置为 utf-8_general_ci

4、在PHP连接数据库的时候,也就是mysql_connect()之后加入

//设置数据的字符集utf-8
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

注意是utf8,不是utf-8 。

如果你的网页编码是gb2312,那就是 SET NAMES GB2312。但编辑员强烈推荐网页编码、MySQL数据表字符集、PHPmyAdmin都统一使用UTF-8。

以上四点即可实现全站utf-8编码,而且在数据库中也不会有中文乱码。

拓展:

乱码问题:用PHPmyAdmin输入数据时发生错误,不让输入或出现乱码

解决方法:这是设置问题。请安装最新版PHPmyAdmin或Appserv,打开PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 连接校对应该为utf8_unicode_ci;创建新的数据库时整理一栏请也选成utf8_unicode_ci。

网页字符集也最好选用utf-8。utf-8是国际标准编码,是趋势。

相关推荐:PHP教程

以上就是php读取mysql中文乱码怎么解决?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。