我用的数据库时mysql5.5,里面的编码参数如下:
default-character-set=utf8
character-set-server=utf8
default-character-set=utf-8
default-collation=utf8_general_ci用的是java写的代码,确定代码里的编码都已经统一为了utf-8,结果在保存中文时,出现下图现象:
mysql的dos窗口显示:navicat界面的显示:navicat界面显示正常,dos窗口还是乱了,
验证时,结果取出的都是正常的中文,这现象哪位大侠能解释下吗,小菜鸟比较喜欢用dos窗口,所以望大侠们赐教,,

解决方案 »

  1.   

    不知道你写没写实体类,如果写了的话,把里面的对象的顺序改成和你数据库建表的字段顺序一样。并且实体类中的get方法和set方法的顺序也要和对象的顺序一样。
      

  2.   

    实体类写了,而且顺序都跟楼上说的一样,不过个人觉得这和实体类中的get,set方法顺序没啥关系吧,只是个人短见哈
      

  3.   

    测试了一下是dos下,把utf-8格式的字符,按"gbk"格式输出了。
    楼主可以用下面的代码测试:import java.io.*;
    public class Codetest
    {
    public static void main(String[] args) throws Exception
    {
    File file=new File("文档.txt");
    BufferedReader bf=new BufferedReader(new FileReader(file));
    String s=bf.readLine();
    byte[] b=s.getBytes("utf-8");
    String s2=new String(b,"gbk");
    System.out.println("s2 is "+s2);
    }
    }
    文档.txt用utf-8编码方式存入两个字:张三
    输出:
    s2 is 寮犱笁
      

  4.   

    嗯,查看了下dos窗口的属性,还真是gbk,大侠有啥方法能修改为utf-8吗
      

  5.   

    哎,一番折腾,总算找到解决办法了,如果是utf8编码,原来在dos下每次操作前,得先将显示结果编码set character_set_results='gbk'