在JAVA中,String 里面存的东西都是没有编码格式的,只有向文件流,网络流输出的时候调用getBytes的时候才会杯边骂成不同的格式,一般都是根据系统自带的进行编码,安卓默认的是UTF-8,兼容性很好,但是有的时候我们需要在接收端显示GBK的编码,就会出现乱码,因为UTF-8中是中文三个字节,而GBK中只有两个字节,而转换又不是那么智能,所以就会出乱码, 解决方法就是在每次向输出流写入的时候指定编码格式,代码如下:
ous.write(send.getBytes("GBK"));
这样就可以了。
当然如果有条件的话最好把服务器和客户端都统一成UTF-8这样就不会出现问题了
本文讲述了在Java中如何处理不同字符集导致的乱码问题,特别是在客户端显示为GBK编码时。文章提供了一个简单实用的解决方案,并建议尽量将客户端和服务端统一为UTF-8以避免此类问题。

被折叠的 条评论
为什么被折叠?



