php select查询时,字符编码处理,
程序员文章站
2024-02-17 16:10:04
...
require("db.php");
$sql="SELECT `cityid` FROM `weathercityid` where `city`='广东'";
$result=mysql_query($sql);
var_dump($result);
$a_city=mysql_fetch_array($result);
print_r($a_city);
?>
输出结果为
广东
resource(5, mysql result)
如果把 把广东换成是 数字是字符就可以成功,这个是怎么回事?
$sql="SELECT `cityid` FROM `weathercityid` where `city`='广东'";
$result=mysql_query($sql);
var_dump($result);
$a_city=mysql_fetch_array($result);
print_r($a_city);
?>
输出结果为
广东
resource(5, mysql result)
如果把 把广东换成是 数字是字符就可以成功,这个是怎么回事?
回复讨论(解决方案)
你的程序是什么编码的?
你的 city 字段是什么编码的?
以下是几种可能的情况
1、程序是 gbk 的,city 是 utf8 的 需要在查询前 mysql_query(/set names gbk');
2、程序是 utf-8 的,city 是 gbk 的 需要在查询前 mysql_query(/set names utf8');
3、最坏的情况:city 没有设置编码,且程序是 utf-8 的
此时需要
$w = iconv('utf-8', 'latin1', '广东');
$sql="SELECT `cityid` FROM `weathercityid` where `city`='$w'";
取回的数据还需反编码
你这不是输出了吗,怎么不成功了?
楼主问题,说的很深奥啊。
把文件另存为utf-8,mysql查询的时候设置mysql_query('set names utf8');
mysql识别不了编码所以查不出
上一篇: MySQL语句之or/and
推荐阅读
-
php select查询时,字符编码处理,
-
c/c++-使用 mysql c api 中,预处理查询条件 当过滤字段是字符串时
-
php 处理html时,字符串截断
-
php 中发起curl请求时,get的查询字符串问题
-
PHP处理微信中带Emoji表情的消息发送和接收Unicode字符转码编码
-
utf编码的中文字符串截取处理(避免截取半字/乱码的情况) PHP
-
utf编码的中文字符串截取处理(避免截取半字/乱码的情况) PHP
-
php查询mysql数据库 查询条件替中文字符串变量时无法查询
-
c/c++-使用 mysql c api 中,预处理查询条件 当过滤字段是字符串时
-
php rtrim函数在处理时去掉字符t是怎么回事啊