new String(mes.getBytes("GBK"),"utf-8");这种方法转貌似不行

解决方案 »

  1.   

      一般默认是utf-8,  GBK(中国开发的东东  才会是)
      

  2.   

    你试试用这个可以确认别人输入的是中文,这个乱码的入口现在已处理,就已存进去的乱码数据还没处理楼主用的是什么数据库工具?  PL/SQL么,还是Navicat,  如果是PL/SQL,可以看看这个
    http://blog.sina.com.cn/s/blog_6ce7ab470100y2an.html
      

  3.   

       如果不是乱码, 用的是MySQL数据库的话   就去修改MySQL的存储格式改成utf-8  
      

  4.   

    数据库是Oracle; 
    sqldeveloper 和DbVisualizer都用
      

  5.   

    这个看你存数据库之前,中文是否出现乱发,你可以在后台打印出来看看,如正常,看下当前编码,和数据库用的编码是否一致。
    post请求,直接request.setCharacterEncoding("utf-8"),把浏览器的编码也设成utf-8
    get请求,超链接,sendRedirect  用getBytes转换下,new String(str.getBytes(“iso-8859-1”),"utf-8")处理
      

  6.   


    看看你页面最上面创建的是什么编码格式如果不是UTF-8可以加上
    或者后台接收参数时进行编码格式转换
    String value = new String (request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
    如果以上都解决不了的话   可能是数据库编码设置问题
    MYSQL一般会出现这样的问题 可以用以下方法查看编码格式其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
    character_set_results结果集的编码;
    character_set_server数据库服务器的编码;
    只要保证以上四个采用的编码方式一样,就不会出现乱码问题。