PHP中运行Mysql语句中文出错问题
巴扎黑
巴扎黑 2017-04-10 15:04:29
[PHP讨论组]

在PHP中运行一段Mysql语句,如下:

$sql = "SELECT * FROM  `users` WHERE user = 'liang'";
$return = mysqli_num_rows($sql);

当user字段内容为英文时,可完美运行。当user字段为中文时,则无法正常运行。

求教各位大大,在此多谢了!

巴扎黑
巴扎黑

全部回复(2)
PHP中文网
  1. 先将文件改为utf-8编码;
  2. 在连接语句后立即执行下面的语句:

    mysqli_query('set names utf8');
    
黄舟

首先确定是编码的问题, 当编码情况有很多种,

character set clientDocumentation utf8mb4
character set connectionDocumentation utf8mb4
character set databaseDocumentation utf8mb4
character set filesystemDocumentation binary
character set resultsDocumentation utf8mb4
character set serverDocumentation utf8mb4
character set systemDocumentation

编码不能一概的用 set names XXX 来解决,
要清楚 PHP 本身的编码, 发送给数据库的编码, 数据库存储等编码等,

找到编码不同的部分, 转换编码解决,.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号