问题是这样的:
  最近刚刚用mysql,用Navicat作为操作工具。我通过Navicat直接写进去的汉字不管是读出来还是写进去都不是乱码。并且我将数据库的编码方式设置成urf-8.可是通过jsp传进去的汉字在navicat中则显示成乱码“??”,读出来也是“??”~我的jsp都是采用的utf-8!我不知道问题出在哪~各位大神帮我分析分析~!补充:
  我在后台显示从页面传过来的汉字参数很正常,不过传到数据库里面之后就变成了??;从navicat直接输入数据库里面的汉字从后台得到的也是正常的,就是从页面传入到数据库的汉字不管是写进去还是读出来都是??
这是我的数据库相关字符集编码方式:
character_set_filesystem:  binarycharacter_set_system : utf8character_set_server :latin1character_set_database:utf8character_set_client:utf8character_set_connection:utf8character_set_results:utf8

解决方案 »

  1.   

    设置你一下你的客户端的字符集,可以在你的jsp的连接字符串中设置。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    用jsp运行语句 set name UTF-8
      

  3.   

    补充:
      我在后台显示从页面传过来的汉字参数很正常,不过传到数据库里面之后就变成了??;从navicat直接输入数据库里面的汉字从后台得到的也是正常的,就是从页面传入到数据库的汉字不管是写进去还是读出来都是??JSP<->MYSQL,如果采用的都是UTF-8,那么读写都能正常显示,但用navicat看到是乱码,那就说明navicat工具没有设定对的字符集。
      

  4.   

    重装,然后所有地方设置为UTF-8 ,嘿嘿, 终极办法。