PHP从数据库读取中文信息乱码

时间:2023-02-10 10:14:55
PHP从数据库读取中文信息乱码
数据库为mysql
数据库和网页的编码均为UTF-8
出现乱码后只要使用录入功能往数据库录入信息,录入之后就能正确显示中文信息。
求解决办法。
注:phpmyadmin查看数据库,一直都能正确显示中文。

12 个解决方案

#1


有执行  set names utf8 指令吗?

最好贴出乱码数据的 base64 编码数据

#2


编码问题, 很定撒细节被你忽略  淡定找下

#3


mysql_query("SET NAMES 'utf8'");

#4


在你连接数据库操作加上
mysql_query("SET NAMES 'utf8'");

#5


一般这种问题都是编码引起的,所以保持所有编码一致就是解决问题的方法.
以gbk为例
php文件头输出 header ( "Content-Type: text/html; charset=gbk" );
php链接数据库之后执行 mysql_query("SET NAMES 'gbk'");
数据库/表编码设置为gbk
文件编码 检查是否为ANSI

#6


建立数据库的时候务必对需要FIELD用UTF8

#7


数据库应该是UTF-8
网页上应该是UTF-8 <meta charset="UTF-8" />
网页文件应该是UTF-8,(此处注意,最好是无BOM的UTF-8,编辑器可以用无BOM UTF-8,记事本不行)

搜索关键词,字符集编码。

#8


你可能忽略了文件编码

#9


用gb2312试试

#10


在数据库文件设置编码为utf-8

#11


三码要统一 啊

#12


PHP从数据库读取中文信息乱码
同样问题

#1


有执行  set names utf8 指令吗?

最好贴出乱码数据的 base64 编码数据

#2


编码问题, 很定撒细节被你忽略  淡定找下

#3


mysql_query("SET NAMES 'utf8'");

#4


在你连接数据库操作加上
mysql_query("SET NAMES 'utf8'");

#5


一般这种问题都是编码引起的,所以保持所有编码一致就是解决问题的方法.
以gbk为例
php文件头输出 header ( "Content-Type: text/html; charset=gbk" );
php链接数据库之后执行 mysql_query("SET NAMES 'gbk'");
数据库/表编码设置为gbk
文件编码 检查是否为ANSI

#6


建立数据库的时候务必对需要FIELD用UTF8

#7


数据库应该是UTF-8
网页上应该是UTF-8 <meta charset="UTF-8" />
网页文件应该是UTF-8,(此处注意,最好是无BOM的UTF-8,编辑器可以用无BOM UTF-8,记事本不行)

搜索关键词,字符集编码。

#8


你可能忽略了文件编码

#9


用gb2312试试

#10


在数据库文件设置编码为utf-8

#11


三码要统一 啊

#12


PHP从数据库读取中文信息乱码
同样问题