public static String AsciiToChineseString(String s)
{
char[] orig =s.toCharArray();
byte[] dest =new byte[orig.length]; for(int i=0;i<orig.length;i++) dest[i] =(byte)(orig[i]&0xFF); try
{
ByteToCharConverter toChar =ByteToCharConverter.getConverter("gb2312");
return new String(toChar.convertAll(dest)); }
catch(Exception e){} return s;
}
先定义此方法,插入还是用string mm=request.getParameter("")和insert into ** valuse(mm),只不过显示的时候用String ××=AsciiToChineseString(Rs.getString("**"));
不知是否是此意思??
{
char[] orig =s.toCharArray();
byte[] dest =new byte[orig.length]; for(int i=0;i<orig.length;i++) dest[i] =(byte)(orig[i]&0xFF); try
{
ByteToCharConverter toChar =ByteToCharConverter.getConverter("gb2312");
return new String(toChar.convertAll(dest)); }
catch(Exception e){} return s;
}
先定义此方法,插入还是用string mm=request.getParameter("")和insert into ** valuse(mm),只不过显示的时候用String ××=AsciiToChineseString(Rs.getString("**"));
不知是否是此意思??
换成gb2312
String url="jdbc:mysql://127.0.0.1:3306/100115?user=cc530&password=100115&useUnicode=true&characterEncoding=gb2312";
在你的每个页面上加上上面这句话试试看
大概是这样
response.setContentType("text/html;charset=gb2312");如果是查询数据可以加入
response.setContentType("text/html;charset=gb2312");
String s = new String(resultSet.getString(2).getBytes("ISO-8859-1"), "GB2312");
你是对的,谢谢!能解释原因吗?
String url="jdbc:mysql://server/tzw?useUnicode=true&characterEncoding=GB2312";