java 执行  select concat(ID,'测试') case WHEN Type=0 then '免费' else '收费' end ,name from tb_Test;
==========
1测试 ????????  张三
2测试 ????????  李四
数据库编码:
"character_set_client","gb2312"
"character_set_connection","gb2312"
"character_set_database","gbk"
"character_set_filesystem","binary"
"character_set_results","gb2312"
"character_set_server","gbk"
"character_set_system","utf8"
"character_sets_dir","C:\\Program Files\\MySQL\\MySQL Server 5.1\\share\\charsets\\"为什么 concat 显示 中文, case部分显示的就是乱码呢

解决方案 »

  1.   

    按下贴方法检查一下,如果仍有问题则贴出检查结果以供大家一起分析。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    set names gbk;
    select ...
      

  3.   

    执行一个select 语句也是,条件里面有 中文,执行的时候,就直接中文直接变成乱码,报错。。
      

  4.   

    Insert 里面中文 可以,数据库显示也正常,查询数据库,字段里面的中文显示正常,但是查询条件里面不能有中文
      

  5.   

      不好使,insert 怎么就没有问题呢
      

  6.   

    同样的问题。我用的是oracle  我感觉跟数据库没关系.
    我的语句是 CASE WHEN SEX=1 THEN '男' ELSE '女' END   
             CASE WHEN SEX=1 THEN '男' WHEN SEX=2 THEN '女' END 
    上边两句都出乱码
    而我写成 CASE WHEN SEX=1 THEN '男' WHEN SEX=2 THEN '女' ELSE '' END 就OK了
      所以我建议你改成 select concat(ID,'测试') case WHEN Type=0 then '免费' CASE WHEN TYPE =1 THEN '收费' else '' end ,name from tb_Test;