php网页抓取乱码(关于从数据库中查询出的字符串显示在网页上是乱码的问题)
优采云 发布时间: 2022-04-08 02:18php网页抓取乱码(关于从数据库中查询出的字符串显示在网页上是乱码的问题)
关于从数据库中查询到的字符串在网页上显示为乱码的问题
MYSQL数据库,从里面查到的数据用echo输出到网页时出现乱码,奇怪的是只有一处乱码,其他地方显示正常。
$sql="从 pw_members 中选择用户名,其中 uid=?";
$result=$handler->exeSql($sql,array($winduid),"select");
如果($结果){
回声'
'.$result["username"].'
'}别的{
回声'
未知的用户名
';
}
这是代码,然后页面以
数据库信息为:
服务器字符集:utf8
数据库字符集:utf8
客户端字符集:utf8
连接字符集:utf8
字段信息:
字段:用户名
类型:varchar(18)
不是所有文字都乱码,只有这个地方乱码,请解释~~
- - - 解决方案 - - - - - - - - - -
未知用户名相信你可以看到这不是乱码
你的数据库是 utf-8 存储的,但是前端显示的 HTML 是用 GBK 编码的。当然,有些部分总是乱码。
您可以将 $result["username"] 转码为 GBK。
$result["username"] = iconv('UTF-8', 'GBK', $result["username"]);
或将您的 .php 或 .html 文件另存为 utf-8
- - - 解决方案 - - - - - - - - - -
数据库编码全部为 UTF-8。您可以将页面编码和文件编码设置为UTF-8,以节省麻烦。为什么需要来回走动?
另外,在获取数据库数据之前指定数据编码
SET NAMES('UTF8');//gbk