
正文
php数据库输出中文乱码 php怎么输入数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php显示数据库里的中文乱码.。ps:数据库和php显示都设置了utf8,为什么还会显示乱码???求解答!!
原因:
这个是因为你的浏览默认解析编码不是 UTF-8,这种情况浏览器他不知道你的文字要显示 什么编码。
解决方案:
要么设置浏览器默认编码为 UTF-8
在输出打印前,先输出 meta charset="utf-8"来告诉浏览器你想要使用的编码方式。
栗子:
echo 'meta charset="utf-8"';//将这行放到第一行输出
echo "trtr/";//
相关问答
Q1: php中echo输出汉字,在网页中运行为乱码,该怎么解决?
一般来说出于编码兼容考虑大多php数据库输出中文乱码的页面都将页面字符集定义为utf-8php数据库输出中文乱码,meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /php数据库输出中文乱码,这时候要正常显示中文需要转化一下编码方式,比如php数据库输出中文乱码:echo iconv("GB2312","UTF-8",'中文');就不会乱码了
还有其php数据库输出中文乱码他方法,比如在php的echo前面加入header("ContentType:text/html;charset=gb2312");当然简体中文页面也可以干脆地,把meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /中的UTF-8改成gb2312。
Q2: 用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
事实上MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default-character-set和[mysqld]里的default-character-set来分别设定默认时候客户端连接和数据库内部所采用的编码。上面指定的编码其实是MYSQL客户端连接服务器时候的命令行参数character_set_client,来告诉MYSQL服务器接受到的客户端数据是什么编码的,而不是采用默认编码。
转自:
Q3: PHP 输出简单的中文 乱码问题
解决php中中文乱码问题方法
php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加meta http-equiv="Content-Type" content="text/html; charset=gb2312",所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加meta http-equiv="Content-Type" content="text/html; charset=utf-8",所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具-参数选择-文件-UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
扩展资料:
解决PHP 输出简单的中文 乱码问题的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /中的UTF-8改成gb2312
参考资料:
百度百科-PHP
Q4: php中文乱码怎么解决
乱码需要从三个方面排除php数据库输出中文乱码,第一数据库编码php数据库输出中文乱码,第二php编码,第三浏览器默认编码,这三个编码必须统一
Q5: 为什么我的php输出的中文是乱码?
是你的页面
编码
有问题!
你这个是不是
还没有用到
数据库
啊?
那应该就是
你的
IE浏览器的
编码
跟你
页面的编码不统一!
你应该先判断你的
页面是
什么编码
然后再把
IE的编码换成
你的页面
编码!那就可以了!
关于php数据库输出中文乱码和php怎么输入数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






