数据库中编码为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的,没有用任何其他的程序去简介访问。跪求解决方案,谢谢了!

解决方案 »

  1.   

    1.确定表的编码是否为utf8
    2.如果表的编码为utf8,在查询的前加上这一句 $DB->query("set names utf8");
      

  2.   

    我在sql yog的query 界面上写了:set names utf8;
    SELECT * FROM 数据库.表名 WHERE locate(netsales,convert( '฿' using utf8)) > 0;跑完以后仍然没有结果。netsales字段的编码为:
    utf8_general_ci是我哪里写的不对吗?
      

  3.   

    数据库默认编码是u8么?set names gbk;
    select.....
      

  4.   

    我写成:set names latin1;
    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;的话,对服务器端的数据库是不会产生影响的吧?谢谢!