ERLEncoder.encode 网络链接中包含中文的解决方案
来源:互联网 发布:淘宝注册新账号 编辑:程序博客网 时间:2024/05/22 17:55
今天在使用URL访问开放API接口的时候,因为要查询的数据中包含中文就出现了问题。无法获取的URL如下:
http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=XXXX
使用的代码如下:
之后被访问的连接并非粘贴过去的那串文字,其中的“北京”两个字变成了
http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=XXXX
另外,据说在普通Java程序中调试的时候是没有问题的,但是在Android中就不行了。
http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=XXXX
使用的代码如下:
URL url = new URL(address); connection = (HttpURLConnection) url.openConnection();用以上代码打开数据连接,但是始终获取不到数据。这是因为要访问的URL中包含中文“北京”,因而无法查询。
如何修改这个问题呢?
实际上,将上面的链接复制到浏览器进行访问是没有问题的。这时,如果细心的话就会发现,粘贴之后被访问的连接并非粘贴过去的那串文字,其中的“北京”两个字变成了
http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=XXXX
就是将“北京”连个字做了变化。所以,要想使用中文的URL的话,也应该将其中的中文进行转码之后再访问。
那么如何转码呢?
这就用到了ERLEncoder.encode方法,其中第一个参数是中文字符串,第二个参数是编码方式,返回的结果是编码后的结果
String city = mEditText.getText().toString(); try { city = URLEncoder.encode(city, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }使用ERLEncoder.encode即可。这样中文就变成上面那串带有%的字符串了。
另外,据说在普通Java程序中调试的时候是没有问题的,但是在Android中就不行了。
0 0
- ERLEncoder.encode 网络链接中包含中文的解决方案
- 链接中传输中文解决方案
- 乱码的解决方案——cookies中包含中文
- PHP 链接Mysql中文乱码的解决方案
- python编程中中文输出乱码UnicodeEncodeError: 'ascii' codec can't encode character解决方案
- 包含arxHeader.h的工程中调用了标准fstream, sstream, iosteam等引发链接问题的解决方案
- JSP中请求链接页面为中文的情况,找不到页面解决方案
- R6043 号错误解决方案,包含使用8.0版链接器链接的ASM程序访问C运行库时出现的错误,ASM32中访问C库函数
- 手机中文字符网络传输的解决方案
- 超链接中包含中文的乱码问题
- Python 字典中包含中文的输出
- 超链接中包含中文的乱码问题
- Python:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 12305,以及中文乱码的解决方案
- perl对中文的处理(encode,decode)
- Perl对中文的处理(encode,decode)
- Perl对中文的处理(encode,decode)
- 【android】短信中包含链接的textview的点击处理
- 在VC++ 6.0 或 Visual Studio中设置包含链接库lib文件(无法解析的外部符号 __imp__WSAStartup 的解决方案)
- AppBarLayout 介绍和简单使用
- 开发感想
- 被说了很多遍的设计模式---观察者模式
- leetcode 295.Find Median from Data Stream
- 基本函数生命周期和执行规律
- ERLEncoder.encode 网络链接中包含中文的解决方案
- 20招让你的Python飞起来!
- 外网访问原理分析 - 每天5分钟玩转 OpenStack(105)
- 437. Path Sum III--dfs + hash + 连续序列的和等于给定的数num
- NOIP2003提高组 加分二叉树
- UIScrollViewDelegate
- 读写函数
- 晚期(运行期)优化
- hdu 4821 hash+map判重