首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【转】java String门类数据的字节长度

2013-10-05 
【转】java String类型数据的字节长度问题描述:??????? 向数据库中插入一条String类型的数据,在数据库中该字

【转】java String类型数据的字节长度

问题描述:

??????? 向数据库中插入一条String类型的数据,在数据库中该字段定义为varchar2(64),一开始使用String.length()来进行数据的长 度校验,如果数据是纯英文,那么是没有问题的,但是如果数据中包含中文,校验可以通过,但是在数据入库时经常会报数据超长。

?

问题分析:

??????? 既然问题是数据超长,那么问题应该就是出在数据长度校验上,也就是出在String.length()这个方法上,来看看jdk是如何描述这个方法的:

public static void main(String[] args) throws UnsupportedEncodingException {String a = "123abc";int num = a.getBytes("utf-8").length;System.out.println(num);a = "中文";num = a.getBytes("utf-8").length;System.out.println(num);}

?结果为6和6,为什么转换成utf-8呢,因为数据库使用的是utf-8编码,既然数据最终是要存到数据库中,那么首先先要保证数据在程序中时、在数据库 中时的编码一致(同一个字符在不同的编码格式中所占的字节位数不一致,这点很关键),然后再保证程序和数据库判断数据长度的方式一致,才能避免程序校验通 过,入库时却提示数据长度超长的问题。

?

转自 http://blog.csdn.net/a19881029/article/details/7902701

热点排行