当前页面: 开发资料首页 → JSP 专题 → struts插‘中文数据’到SQLSERVER中遇到的问题!
struts插‘中文数据’到SQLSERVER中遇到的问题!
摘要: struts插‘中文数据’到SQLSERVER中遇到的问题!
STRUTS插中文数据到SQLSERVER数据库中怎么就成乱码了呢?请知道的朋友指点一下!听别人说要转换编码,但具体怎么做不清楚。希望能给个具体点的建议,谢谢!
request.setCharacterEncoding("gb2312");
你说的方法不行!试了一下还是乱码!
应该先判断一下在放进去之前是不是中文的,如果是的,那显然问题出在数据库的设置上。如果不是,那么就更简单了,就是在struts里出的问题,我碰到的有的人是form的问题,有的是jsp的问题,有的是没有filter,只要各个环节保障好,绝对不会除乱码。
加个字符转换就好了
在action 里得到前台提交的字符串用
String name=(String)request.getParameter("textfield");
在得到以后转换一下
try{
name=new String(name.getBytes("ISO8859_1"), "gb2312");
}catch(Exception e){
}
我应该是没有过滤器,我正在requestprocessor里面写request.set......("gb2312"),不知道行不行
baobao28() 说的是种方法,但我提交的字段很多,那我还不得一个一个的改?好象有点麻烦!
我在RequestProcessor里面试成功了!
import java.io.UnsupportedEncodingException;
import org.apache.struts.action.RequestProcessor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyRequestProcessor extends RequestProcessor {
protected boolean processPreprocess(HttpServletRequest request,
HttpServletResponse response){
try {
request.setCharacterEncoding("gb2312");
} catch (UnsupportedEncodingException e) {
System.out.print("字符集设置失败");
}
return true;
}
}
共享一下,呵呵!