解决中文存储进数据库超过字段最大容量的问题
2017-05-12 17:42
483 查看
问题描述:
向DB2数据库中一varchar类型字段中插入一条String类型数据,程序使用String.length()来进行数据的长度校验,如果数据是纯英文,没有问题,但是如果数据中包含中文,校验可以通过,但是在数据入库时经常会报数据超长。
问题分析:
既然问题是数据超长,那么问题应该就是出在数据长度校验上,也就是出在String.length()这个方法上。
解决方式:
既然是判断数据长度时以字符为标准导致出错,那么思路就很明确了,在进行数据长度校验时,取数据的字节长度
String error = tTbWorkFlowUI.mErrors.getFirstError();
int i = error.indexOf("<br>");
int j = error.lastIndexOf("<br>");
error = error.substring(i + 4, j);
error = error.replaceAll("<br>", ",");
try {
if(error.getBytes("utf-8").length>999){
error=substr(error, 900);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
向DB2数据库中一varchar类型字段中插入一条String类型数据,程序使用String.length()来进行数据的长度校验,如果数据是纯英文,没有问题,但是如果数据中包含中文,校验可以通过,但是在数据入库时经常会报数据超长。
问题分析:
既然问题是数据超长,那么问题应该就是出在数据长度校验上,也就是出在String.length()这个方法上。
解决方式:
既然是判断数据长度时以字符为标准导致出错,那么思路就很明确了,在进行数据长度校验时,取数据的字节长度
/** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 * @param s * 原始字符串 * @param num * 传进来指定字节数 * @return String 截取后的字符串 */ public static String substr(String s,int num){ int changdu = s.getBytes().length; if(changdu > num){ s = s.substring(0, s.length() - 1); s = substr(s,num); } return s; }最后字符串处理如下
String error = tTbWorkFlowUI.mErrors.getFirstError();
int i = error.indexOf("<br>");
int j = error.lastIndexOf("<br>");
error = error.substring(i + 4, j);
error = error.replaceAll("<br>", ",");
try {
if(error.getBytes("utf-8").length>999){
error=substr(error, 900);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
相关文章推荐
- Psot ,get,中文乱码问题(不知道可否解决数据库的存储读取乱码)
- 运用ORACLE的OO4O类库函数解决调用存储过程向远程数据库上传超过32K图片失败的问题
- [ASP/PHP/JSP]MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- 在控制器中添加过滤器,解决中文由jsp到action进而到数据库传输过程中出现的乱码问题(Struts)
- 解决mysql+hibernate在j2ee框架下的数据库中文乱码问题
- SQL Server Varchar类型字段中文乱码问题的解决
- (转)MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- 解决Struts插入数据库中文乱码问题
- 使用 MDT 2008 部署windows xp 时大容量存储设备 Rocket 100 问题的解决
- 解决asp.net 用 mySql 数据库 添加数据时中文为乱码问题
- 常见字符集简介 数据库以及jsp中文乱码问题以及Struts 中文乱码问题 Filter解决
- [导入]搜狗2.5版发布 20亿容量将成最大中文引擎数据库
- 用NetBeans编写Filter,解决存入HsqlDb数据库中文问题。
- tomcat+mysql 中文乱码和存储大文件问题解决
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- JSP中乱码问题解决(一、JSP页面显示乱码,二、表单提交中文时出现乱码,三、数据库连接出现乱码,四、数据库的显示乱码 )
- 解决数据库存储和查询中的乱码问题
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- 迅速解决JSP及数据库中文编码问题!
- 解决方法:ASP读取数据库中的中文数据出现乱码的问题