这篇文章主要介绍了PHP怎么解决输出中文乱码问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP怎么解决输出中文乱码问题文章都会有所收获,下面我们一起来看看吧。
解决 PHP 输出中文乱码的问题
问题描述
今天给导航狗(https://daohanggou.cn/)的 PHP 程序和数据库文件迁移了服务器, 但是迁移到新的服务器上之后 PHP 输出的中文和 PHP 输出的从 MySQL 数据库查询出来的数据中的中文都出现了乱码的情况. 下面记录一下我解决该问题的过程.
解决步骤
首先解决的是 PHP 程序直接输出 (输出的不是从数据库中查询的数据) 的中文乱码的问题. 由于我使用的是一台虚拟主机, 没有管理员权限, 无法修改 PHP 的配置文件, 因此, 对于这个问题我的解决办法是在 PHP 文件的头部加上如下代码:
<head> <Meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head>
<?PHP header("Content-type:text/html;charset=utf-8"); ?>
这样处理之后, 输出的结果是这样的 (图 1):
图 1
如图 1 所示, 我用红框标注的是 PHP 程序从 MysqL 数据库查询的结果, 查询结果中的英文可以正常显示, 中文却变成了问号. 关于这个问题, 我的解决方法是在 MysqL 查询语句的前一行加入如下代码:
MysqL_query("SET NAMES UTF8");
如图 2:
图 2
如果经过上面的步骤之后问题还是没有解决, 可以尝试使用下面的 sql 命令将出现中文编码错误的数据表改成 UTF-8 编码:
ALTER TABLE `Test` DEFAULT CHaraCTER SET utf8;
关于“PHP怎么解决输出中文乱码问题”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PHP怎么解决输出中文乱码问题”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。