关于java编码问题

撸大师 发布于 2013/08/27 09:49
阅读 427
收藏 0

一段字节流,转换成字符流的时候忘了编码,然后直接读取出来,该字符串有乱码,发现该字符串里面的中文字符乱码,尝试着编码成utf8,gbk,gb2312等各种不信,又将字符串打回成流,再重新编码还是不行。(字符串里含中文繁体)。

这段乱码的字符串还有的救么?

加载中
0
崔钢
崔钢
得从源头上解决问题。一点一点来搞吧。玩技术就需要有耐心,经得起挫折的考验。
0
Beyond-Bit
Beyond-Bit

应该可以通过字符串识别来断定文本是何种编码、比如文本编辑器那种,打开的时候都是先识别编码格式、

方法给你具体如何做google吧、

撸大师
撸大师
这种办法不可行,最好的情况下,是五个字中只有一个乱码。
0
王瑞平
王瑞平
转化不可能完全的,只能从源头搞起
撸大师
撸大师
别无选择了么?我也试过好多方法,最多只能转化80%。特别是中英文边界处,老是乱码、、、
0
pseudo
pseudo
那段字节流如果是经过定长编码的,但转换成字符流的时候如果忘了编码,它默认是采用系统的编码的,如果你的系统是定长的编码,那再逆转回来是可以的,但如果系统的默认编码是不定长的,或者那段字节流是经过不定长编码的,那逆转不了了
撸大师
撸大师
程序是Myeclipse上编写的,默认是GBK编码,打成jar包,运行是在linux上运行的,环境是en-utf-8什么的。有的救么?编码真心不懂!
0
pseudo
pseudo
gbk是定长字符编码,可以逆推得到原始字节流,所以在linux系统上要指明字符编码格式为gbk就可以了
pseudo
pseudo
回复 @傻不拉唧debug : 你是说已经部署了是么?如果是这样的话那你把jvm的默认编码改下吧,
撸大师
撸大师
关键是我现在在liunx上已经得到字符串了,而且linux是utf-8编码。
返回顶部
顶部