日期:2014-05-17  浏览次数:20791 次

jsp 报错“将截断字符串或二进制数据”
要完成的是从A提交表单到B获取值插入到数据库
报错“java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据”。
我对获取的A页面的值进行输出,英文字符及数字输出正常,汉字输出显示为进制数,录入到数据库中同样是进制数。
A,B页面都加入
<%@ page contentType="text/html;charset=gb2312"%>
B 页面加入
<%request.setCharacterEncoding("gb2312");%>
用解码和特殊字符处理方法也不成功
public String getCode(String value) throws UnsupportedEncodingException {
value = HtmlFilter.filterHTML(value);
value = URLDecoder.decode(value, "UTF-8").trim();
return value;
}
数据库中长度给的varchar(100),录入的数据不过10几个汉字,如何解决呢?

------解决方案--------------------
字符集问题,页面字符和action字符集不一致,需要先转换之后再做其他操作,不然中文汉字或变成乱码,无法正常进行后续操作。
------解决方案--------------------
赞同2L      
------解决方案--------------------
建议在控制器中打印 获取的参数值 ,看看是什么东西 ,之后再说?
------解决方案--------------------
首先要保证从页面取到的值是正确的 ,这是正确保存值得关键