JAVA程序是UTF-8,生成的SQL显示正常如:insert into tablename(name,age)values('中文',22);如果用程序插入数据库中,在CMD窗口中查询出来的是???,显示在页面也是???,但是将上述SQL拷贝到CMD窗口中插进数据库,在CMD窗口中显示及在页面中显示是正常的,请高人指教,数据库连接是用jdbc:mysql://127.0.0.1:3306/mydata?useUnicode=true&characterEncoding=UTF-8

解决方案 »

  1.   

    public String Set(String str) {
    String str1 = null;
    try {
    str1 = new String(str.getBytes("iso8859_1"), "utf-8");
    } catch (Exception e) {
    e.printStackTrace();
    } return str1;
    }
    把从表单接收过来的数据再用这个方法转一下编码。应该就好使了。
    String str=this.Set(request.getParameter("name"));
    然后把str插入数据库
      

  2.   

    http://ent.yuyao.com/Board.asp?BoardID=2这个网址看一下吧,这里面有详细的文章及解说,可能有你所需要的答案,包括工具|办 |系统|图形|网站建设|网络编程|软件|数据库|多媒体|安全 等
      

  3.   

    http://ent.yuyao.com/Board.asp?BoardID=2这个网址看一下吧,这里面有详细的文章及解说,可能有你所需要的答案,包括工具|办 |系统|图形|网站建设|网络编程|软件|数据库|多媒体|安全 等
      

  4.   

    sql语句组装时已经过str1 = new String(str.getBytes("iso8859_1"), "utf-8");
    (二楼的方法)转换。
    现在问题是已生成的SQL语句可以正常的显示汉字,只是插入时出现问题而已.请教~!
      

  5.   

    改成这样试试:useUnicode=true&characterEncoding=utf8
    注意后面的utf8.另外确保数据库及表的属性是utf8并且你没有用过滤类吧。如果用了过滤类先去掉。