当前位置: 技术问答>java相关
救急!中文问题!!utf-8编码转成GBK,因为位数不同而产生字符丢掉问题!!
来源: 互联网 发布时间:2015-11-11
本文导语: 天啊,又是中文问题:utf-8编码转成GBK,因为位数不同而产生字符丢掉问题!! 某个字段是中文字段,需要将这个字段转成成unicode编码(utf-8去getBytes): str=new String(s.getBytes("UTF-8"),"ISO8859-1"); 无论这个字段是奇数...
天啊,又是中文问题:utf-8编码转成GBK,因为位数不同而产生字符丢掉问题!!
某个字段是中文字段,需要将这个字段转成成unicode编码(utf-8去getBytes):
str=new String(s.getBytes("UTF-8"),"ISO8859-1");
无论这个字段是奇数或者偶数个中文字,都没有发现丢掉汉字的问题。
但是经过
str=new String(s.getBytes("ISO8859-1"),"GBK");
处理过之后,发现偶数个中文字没有问题,但是奇数个中文字的最后一个汉字给丢掉啦!!
怎么办啊??
我必须要这样处理啊 ,我必须要想用str=new String(s.getBytes("UTF-8"),"ISO8859-1");这样处理,之后再要将这个str转换成"GBK"编码啊!!
某个字段是中文字段,需要将这个字段转成成unicode编码(utf-8去getBytes):
str=new String(s.getBytes("UTF-8"),"ISO8859-1");
无论这个字段是奇数或者偶数个中文字,都没有发现丢掉汉字的问题。
但是经过
str=new String(s.getBytes("ISO8859-1"),"GBK");
处理过之后,发现偶数个中文字没有问题,但是奇数个中文字的最后一个汉字给丢掉啦!!
怎么办啊??
我必须要这样处理啊 ,我必须要想用str=new String(s.getBytes("UTF-8"),"ISO8859-1");这样处理,之后再要将这个str转换成"GBK"编码啊!!
|
new String(s.getBytes("UTF-8"),"gb2312");
这样不行吗,我都是这样做的
这样不行吗,我都是这样做的
|
能不能把奇数个的在转化之前判断一下,是的话加一个字进去,转化完成之后,再去掉