在jsp中操作mysql数据库,可插入的中文字符全是乱码 不是。应该是需要进行编码转化:iso8859-1---------------gb2312 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 连接数据库的url换成jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GB2312 要进行转换:如:String name; name= new String(request.getParameter("name").getBytes("gb2312"),"ISO8859_1");一般都OK了; public class Omnibus { public static String UnicodeToChinese(String s){ try{ if(s==null || s.equals(""))return ""; String newstring=null; newstring= new String(s.getBytes("ISO8859_1"),"gb2312"); return newstring; } catch(UnsupportedEncodingException e){ return s; } } public static String ChineseToUnicode(String s){ try{ if(s==null || s.equals(""))return ""; String newstring=null; newstring= new String(s.getBytes("gb2312"),"ISO8859_1"); return newstring; } catch(UnsupportedEncodingException e){ return s; } }} 将汉字写入库中的时候,MYSQL是会自动转码的,好像是转成encode码了,你需要:String name=new String(username.getBytes("gb2312"),"ISO8859_1"); 换最新版本的JDBC驱动就可以不需要手工转码 你可以在你的JSP文件中加上下面这个函数,再在需要输入中文的地方调用这个函数就可以了public String toChinese(String str){ if(str==null){ str ="" ; } else{ try { str = new String(str.getBytes("iso-8859-1"),"gb2312") ; } catch (Exception ex) { } } return str ; }例如:String ABC=toChinese(request.getParameter("ABC")); 在java中可否使用线程名或其ID号获取其引用? 关于注销问题 交流共进 请教两个问题,给分100,帮帮我吧,兄弟们! jsp用户的上传文件如何生成下载链接? 怎么我提的问题在这里看不到呢?(关于struts的,200分呢) 暂时保存怎么弄? 高分求教,急!! 请问哪里可以找到JSWDK1.0.1下载?我到java.sun.com找不到,:(我的英文不太好) 为什么idea新建的web项目不显示web和.idea文件夹? 如何利用jsp删除一个文件! 图片自适应页面的大小的问题--绝对挑战
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GB2312
String name;
name= new String(request.getParameter("name").getBytes("gb2312"),"ISO8859_1");一般都OK了;
public static String UnicodeToChinese(String s){
try{
if(s==null || s.equals(""))return "";
String newstring=null;
newstring= new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(UnsupportedEncodingException e){
return s;
}
}
public static String ChineseToUnicode(String s){
try{
if(s==null || s.equals(""))return "";
String newstring=null;
newstring= new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(UnsupportedEncodingException e){
return s;
}
}
}
String name=new String(username.getBytes("gb2312"),"ISO8859_1");
public String toChinese(String str){
if(str==null){
str ="" ;
}
else{
try {
str = new String(str.getBytes("iso-8859-1"),"gb2312") ;
}
catch (Exception ex) {
}
}
return str ;
}
例如:String ABC=toChinese(request.getParameter("ABC"));