java客户端采用http请求响应方式与服务端进行通信。
客户端通过发送http请求接收服务端返回json格式数据,就是这个过程中居然出现了恶心的中文乱码问题。然而更恶心的是在netbeans平台环境下运行不会出现乱码,而是在运行其发布的项目的时候出现了乱码,让我无法调试跟踪乱码源!!好吧,只能用最损最费劲的弹出消息对话框的形式来跟踪寻找问题的所在...最后通过个人不懈努力,花了一个下午的时间终于找到了事发地点---服务端对返回数据的编码,以及客户端对接收数据的解码过程中。百思不得其解的地方啊,我明明在客户端和服务端的http请求和响应的头部都设置好了“UTF-8”编码格式的,为嘛接收的时候会出现问题呢,更为关键的是在netbeans环境下正常,发布运行后就异常...
不知道是netbeans平台故障还是我从eclipse里边导出项目文件编码格式有问题,也不打算深究这个问题,直接贴出解决办法:
先改服务端:将要返回的数据先主动encode-->java.net.URLEncoder.encode(rtnStr,"UTF-8") //[后面编码格式最好不要省了,如果返回的数据里边有中文的话]
后改客户端:将从HttpURLConnection中取出来的数据字符串主动decode-->java.net.URLDecoder.decode(rtnStr.toString(),"UTF-8")//编码格式同服务端
这样改完之后http请求响应中出现的乱码问题即可得到永久解决
客户端通过发送http请求接收服务端返回json格式数据,就是这个过程中居然出现了恶心的中文乱码问题。然而更恶心的是在netbeans平台环境下运行不会出现乱码,而是在运行其发布的项目的时候出现了乱码,让我无法调试跟踪乱码源!!好吧,只能用最损最费劲的弹出消息对话框的形式来跟踪寻找问题的所在...最后通过个人不懈努力,花了一个下午的时间终于找到了事发地点---服务端对返回数据的编码,以及客户端对接收数据的解码过程中。百思不得其解的地方啊,我明明在客户端和服务端的http请求和响应的头部都设置好了“UTF-8”编码格式的,为嘛接收的时候会出现问题呢,更为关键的是在netbeans环境下正常,发布运行后就异常...
不知道是netbeans平台故障还是我从eclipse里边导出项目文件编码格式有问题,也不打算深究这个问题,直接贴出解决办法:
先改服务端:将要返回的数据先主动encode-->java.net.URLEncoder.encode(rtnStr,"UTF-8") //[后面编码格式最好不要省了,如果返回的数据里边有中文的话]
后改客户端:将从HttpURLConnection中取出来的数据字符串主动decode-->java.net.URLDecoder.decode(rtnStr.toString(),"UTF-8")//编码格式同服务端
这样改完之后http请求响应中出现的乱码问题即可得到永久解决