数据库中编码为UTF8
我尝试使用了mysql front,mysql yog,HeidiSQL,mysql-gui-tools去打开,看到的都是乱码
使用了
select * from 数据库.表名
where netsales like '%฿%'
limit 100;SELECT * FROM 数据库.表名 WHERE locate(netsales,'฿') > 0;SELECT * FROM 数据库.表名 WHERE locate(netsales,convert( '฿' using utf8)) > 0;三种方法,但是都是不报错,却查不到结果的状态。请问我该怎么办?我是通过客户端去query的,没有用任何其他的程序去简介访问。跪求解决方案,谢谢了!
我尝试使用了mysql front,mysql yog,HeidiSQL,mysql-gui-tools去打开,看到的都是乱码
使用了
select * from 数据库.表名
where netsales like '%฿%'
limit 100;SELECT * FROM 数据库.表名 WHERE locate(netsales,'฿') > 0;SELECT * FROM 数据库.表名 WHERE locate(netsales,convert( '฿' using utf8)) > 0;三种方法,但是都是不报错,却查不到结果的状态。请问我该怎么办?我是通过客户端去query的,没有用任何其他的程序去简介访问。跪求解决方案,谢谢了!
2.如果表的编码为utf8,在查询的前加上这一句 $DB->query("set names utf8");
SELECT * FROM 数据库.表名 WHERE locate(netsales,convert( '฿' using utf8)) > 0;跑完以后仍然没有结果。netsales字段的编码为:
utf8_general_ci是我哪里写的不对吗?
select.....
SELECT * FROM 数据库.表名 WHERE locate(netsales,convert( '฿' using utf8)) > 0;
或者
SELECT * FROM _t_sdt_sales_200805 WHERE locate(product_netsales,'฿') > 0;都跑不出来,但是写成:
set names latin1;
select * from 数据库.表名
where netsales like '%฿%'
limit 100;这样就可以了。请问这是为什么?我看不懂另外,如果我用set names latin1;的话,对服务器端的数据库是不会产生影响的吧?谢谢!