当前位置: 技术问答>java相关
jsp乱码的问题,刚才问了一遍,但所有的答案全不足以解决问题,恳请高手解答
来源: 互联网 发布时间:2015-02-01
本文导语: 页面接收传来的String name = (String)request.getParameter("name"); 把他插入数据库: String sql = "insert into unit(name) values(`"+name+"`)"; 结果数据库里插入成功了,但显示的是????,把他显示出来也是???? 不管用 ...
页面接收传来的String name = (String)request.getParameter("name");
把他插入数据库:
String sql = "insert into unit(name) values(`"+name+"`)";
结果数据库里插入成功了,但显示的是????,把他显示出来也是????
不管用
把他插入数据库:
String sql = "insert into unit(name) values(`"+name+"`)";
结果数据库里插入成功了,但显示的是????,把他显示出来也是????
不管用
|
把你的name用这个方法转换一下试一试。
String tmpName=(String)request.getParameter("name");
String name=getStr(tmpName);
方法为:
public String getStr(String str){
try{String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;}
catch(Exception e){}
return "";
}
String tmpName=(String)request.getParameter("name");
String name=getStr(tmpName);
方法为:
public String getStr(String str){
try{String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;}
catch(Exception e){}
return "";
}
|
我觉得不应该是statement的问题,
我以前碰到过statement的问题,但是现象有所不同,当时的现象是整个sql语句不能正常使用,因为中文的原因把sql语句截断了,现在既然sql能用,说明不是statement的问题,问题还是出在从页面过来字符到写入sql时本身就不是正常的中文,
不过我觉得,你解决了这个问题以后,还会碰到statement问题,那时还要用prepareStatement.
解决中文问题的回答到处都有,你搜索一下就可以了,我就不说了。
我以前碰到过statement的问题,但是现象有所不同,当时的现象是整个sql语句不能正常使用,因为中文的原因把sql语句截断了,现在既然sql能用,说明不是statement的问题,问题还是出在从页面过来字符到写入sql时本身就不是正常的中文,
不过我觉得,你解决了这个问题以后,还会碰到statement问题,那时还要用prepareStatement.
解决中文问题的回答到处都有,你搜索一下就可以了,我就不说了。
|
用PreparedStatement对象试一下,
对中文的处理尽量不要用statement
对中文的处理尽量不要用statement
|
你用的是什么数据库?
驱动是否用的是jdbc-odbc桥!
驱动是否用的是jdbc-odbc桥!