环境eclipse3.2+lomboz+mysql5.1,起初问题,在程序中插入中文的数据,数据库中中文的字符全部是?,页面也是?,后修改myini文件将字符改成utf-8,问题解决,可在Mysqlclient端查询,但是在程序中如果select from *** where 中文字符,eclipse无法解析,把sql中的中文全部变成乱码
无论怎么修改ini下的字符 如GBK,gb2312等等均无效,也在sql执行前加入set names *** 无效,不知道是不是要进行转码,但好像试了下 无效,实在是没办法了,数据库中show variables like 'character_set_%' character_set_client ,character_set_coonection
character_set_results 是gb2312,character_set_database,character_set_server,character_set_system是utf-8

解决方案 »

  1.   

    eclipse中也要通过程序向MySQL说明一下 mysql_query("set names utf8");
      

  2.   

    "jdbc:mysql://localhost/database?user=&password=&useUnicode=true&characterEncoding=utf-8";
      

  3.   

    这句话就是连接数据库的编码方式为utf-8吧,可是我查过数据库中 character_set_coonection 改为utf-8还是一样,eclipse中默认字符是GBK,我将它该为gb2312,并在SQL提交之前 set names gb2312,数据库基本都是gb2312,结果原来的乱码变成?我估计是eclipse与mysql中交互数据时可能有bug,可能是版本的原因
      

  4.   

    整个应用程序各个部分的编码设置成一样就可以
    比如数据库服务器用utf8,客户应用也要设为utf-8,比如数据库链接加characterEncoding=utf-8,web页面<%@page contentType="text/html; charset=UTF-8"%>,还可以在web.xml中加filter,强制转换为utf-8编码,这样你从页面提交数据到数据库或从数据库取数据显示到页面都能进行强制编码