我在mysql建表的时候已经设置默认编码是gb2312,安装Mysql的时候也设置为gb2312.并且在连接数据库的时候也设置了。具体如下:
   create table bookshop.userinfo(
userid   varchar(40) not null,
username  varchar(20) not null,
pwd   varchar(30) not null,
name  varchar(20),
sex   char(4),
phone  varchar(15),
amount float,
primary key (userid))default charset=gb2312;连接数据库时:
private String url="jdbc:mysql://localhost/bookshop?useUnicode=true&characterEncoding=gb2312";还有就是定义一个转换类:
public class chStr {
public String ConvertStr(String str){
if(str==null)
str="";
else{
try{
System.out.println(str);
str=(new String(str.getBytes("iso-8859-1"),"gb2312"));
System.out.println(str);
}
catch(Exception e){
e.printStackTrace();
}
}
return str;
}}
不过这个用这个类来转换后输出的就是乱码了,郁闷,不知道是什么问题啊!其他jsp页面的也设置好了,还是乱码啊,
急啊,各位大虾帮帮忙。

解决方案 »

  1.   

    c盘的 my.ini文件里改下编码
      

  2.   

    页面的也设置了
    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>,
    还有怎么经过类chStr转换后的中文怎么就变为乱码来呢
      

  3.   

    建议你看看:http://topic.csdn.net/u/20080404/15/648ae844-32b0-48e7-ae4b-2e908639fc62.html
      

  4.   

    把原来的数据库删除,停止服务,找到mysql安装目录下的my.ini有两处编码设置,安装的时候设置不顶用,必须手工设置,默认的两处都是latin1你都改为gbk就可以了,改完重启服务,重建数据库,页面一般采用utf-8较好
    default-character-set=gbk
      

  5.   

    试试MySQL-Front 改mysql的编码
      

  6.   

     fuyou001,你解决了这个问题了没?我按你给的那个帖子里面的来做还是不行啊!
      

  7.   

    首先你要对三个地方设置一下编码建议都用utf-8比较好
    1:mysql里面设置成UTF-8
    2:页面上要设置成utf-8
    3:就是你传递的时候也要设置成utf-8
    这样应该就不会有问题了
    server.xml设置端口的地方加上URIEncoding="utf-8"
    希望这点能帮助你呵呵!!o(∩_∩)o...哈哈
      

  8.   

    ("iso-8859-1"),"
    应该是
    ("iso8859-1"),"
    吧.好象没有中间哪个"-";
      

  9.   

    全部都改成utf-8吧,我的问题也是这样解决的.
      

  10.   

    my.ini里的编码是不是GB2312我以前也犯过这个错误.本来以为数据的编码已经设成GB2312了.而且可以插入中文.可是MY.INI里不是GB2312.最终还是乱码.
    MY.INI里有两个地方要改.