我用android写http请求 HttpGet request = new HttpGet(url); 但是这个URL中有中文。如果传过去那么服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用android写http请求 HttpGet request = new HttpGet(url); 但是这个URL中有中文。如果传过去那么服务器相关的知识,希望对你有一定的参考价值。
那边就会有乱码,请问我这边怎么转码发过去让服务器接收到还是中文
有两个方法,尝试下URLEncoder.encode("");
URLDecoder.decode("");
先ENCODE完后,接收了再DECODE,中文筹码的问题应该就可以解决了~追问
我的这个URL是要传到服务器那边,但是服务器那边我是不能改代码的
追答那你就只能发送的时候加上你的编码类别,一个个试,试到和服务器那边同样的编码~
new String(byte[] bytes, Charset charset)
Charset
描述
US-ASCII 7 位 ASCII 字符,也叫作 ISO646-US、Unicode 字符集的基本拉丁块
ISO-8859-1 ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1
UTF-8 8 位 UCS 转换格式
UTF-16BE 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序
UTF-16LE 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序
UTF-16 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识
试试吧,不能改服务器端的代码很郁闷的~
在真机上测试应该不会有这个问题吧,我记得URI有两个方法可以用的,一个是decode,一个是htmldecode还是啥来的
以上是关于我用android写http请求 HttpGet request = new HttpGet(url); 但是这个URL中有中文。如果传过去那么服务器的主要内容,如果未能解决你的问题,请参考以下文章
Cordova - 为啥 $http get 请求在 android 设备上失败但在 chrome 上工作