遇见,的gravatar头像
遇见, 2014-08-04 23:17:39

牛牛们问一个关于LINUX下java String.getBytes字符乱码问题

最近做了个小接口, 返回的是字符串  然后我进行了UTF-8的转码。

代码如下:

String result = new String(post.getResponseBodyAsString().getBytes(encoding));   //encoding是utf-8

然后windows下正常没有问题。

linux下出现中文乱码。  TOMCAT及文件编码格式都没有问题。

然后我把代码改成

String result = new String(post.getResponseBodyAsString());

windows下正常。

linux下也正常了。

请教各位是什么原因。单参数的getBytes方法会默认找系统编码格式么  还是什么原因。。。

所有回答列表(3)
最代码官方的gravatar头像
最代码官方  LV168 2014年8月5日

乱码的问题很复杂,涉及到客户端,网络,服务端,每个环节都建议用一种编码utf8来统一,这样就能完全避免。

遇见,的gravatar头像
遇见,  LV36 2014年8月6日

linux和windows系统默认编码格式是不一样的 我怀疑getBytes方法是不是调用了系统默认编码格式

PercyQQ的gravatar头像
PercyQQ  LV7 2014年8月6日

2L正解,getBytes()里面还有参数,没有的话是调用系统默认的

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友