Retrofit 打印log时,中文会显示类似%E8%BE%BD字符
https://blog.csdn.net/honghailiang888/article/details/54289632?utm_source=blogxgwz6
参照Android Retrofit2.1.0设置编码格式GBK 的文章。
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
/***lyl TODO 下面一行代码加入https的接口访问**/
//builder.sslSocketFactory(getSSLSocketFactory(context));
builder.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
// Log.d(TAG, fdata);StringUtil.encryptAsDoNet(fdata, 1)
// Log.d(TAG, "加密后:"+DESUtils.encryptAsDoNet(fdata, 1));
Request.Builder requestBuilder = null;
try {
requestBuilder = original.newBuilder()
.addHeader("androidorios", "android");
} catch (Exception e) {
LogUtil.e(TAG,"---create--addhead---"+e.toString());
}
Request request = requestBuilder.build();
request = requestBuilder.post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"),
URLDecoder.decode(bodyToString(request.body()), "UTF-8")))
.build();
return chain.proceed(request);
}
});
就可以解决问题。
2018年11月27日15:32:36
今日我们产品在测试时,发现有个接口提示请求失败。我log显示:
---onError--Throwable-java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String okhttp3.MediaType.toString()' on a null object reference
首先想到除了这次改动,其他没涉及到。查看了自己这个接口恰恰:传递的参数是空的。所以更能判断是自己这里少加了非空的判断。修改后的代码如下:
Request request = requestBuilder.build();
if(null!=request&&request.body().contentLength()>0) {
LogUtil.d(UrlConfig.OkHttp, "---request.body.type--" + request.body().contentType().toString());
if ((request.body().contentType().toString()).equals("application/x-www-form-urlencoded")) {
request = requestBuilder.post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"),
URLDecoder.decode(bodyToString(request.body()), "UTF-8")))
.build();
}
}
Retrofit 打印log时,中文会显示类似%E8%BE%BD字符的更多相关文章
- lua 写逻辑打印log时,打印到一半后停止不再打印,程序停止
问题描述:ubuntu下用lua开发游戏电子邮件模块,自己测试时向用户推送100封,而用户最多只能有50封.这是调用sysdelete删除一些邮件.当打印log时,打印到一半后程序中途停止.将打印lo ...
- php使用mysql数据库时中文不显示或显示异常解决方法
如果出现标题所述问题,需从四个层面解决问题 1 项目文件是否为utf8编码 右键项目文件->properties->Resource->Text file encoding-> ...
- 关于Matlab在绘图时中文字体显示不一致的问题
我的运行环境: OS: Win10 教育版 64-bit Matlab版本:Matlab 2017a 64-bit 在使用Matlab绘图时,而横坐标轴.纵坐标轴.标题有汉字时,会发现在GUI的显示 ...
- 解决Scrapy抓取中文网页保存为json文件时中文不显示而是显示unicode的问题
注意:此方法跟之前保存成json文件的写法有少许不同之处,注意区分 情境再现: 使用scrapy抓取中文网页,得到的数据类型是unicode,在控制台输出的话也是显示unicode,如下所示 {'au ...
- 打印页面时a标签不显示URL的方法
以前写博客啊,总想写一篇大作,然后希望能挂到博客园首页,隔一会儿看看阅读量有多少.其实哪有那么多大作,大部分时间都是解决了一个小问题,然后需要记录一下.比如下面这篇. 今天遇到一个需求是,打印网页时, ...
- Saiku图表导出时中文显示问题的解决方法
Saiku图表导出时png,jpg,pdf三种格式的中文显示都有问题,目前找到一种不太完善的解决方法(中文可以显示但不清晰),需要修改Saiku项目下的ExporterResource.java文件, ...
- 如何解决 Matlab 画图时中文显示乱码的问题?
使用的是win10系统,从前几个月某一天,我的matlab的figure里的中文都变成了口口.很是郁闷,还以为是动到了什么配置引起的. 前几天更新了matlab 2018b,发现还有这个问题.就觉得不 ...
- iOS 设备屏幕上实时打印 Log 的小工具
需求 写这个小工具的想法,主要来源于很多团队都会用友盟.TalkingData 等第三方框架做自定义事件统计:不过统计代码加好之后,没有很好的方法来让测试工程师验证一下事件加上了没有,调用次数有没有重 ...
- 解决Mac中anaconda作图中文异常显示的问题
说明 本篇主要针对在MAC系统中Anaconda环境下,matplotlib显示不了中文的问题,提出解决Python绘图时中文显示的方法. 运行环境 macOS Mojave 10.14.6 Pyth ...
随机推荐
- 【Selenium-WebDriver自学】Log4J的设置(十五)
==================================================================================================== ...
- Java GC如何判断对象是否为垃圾
查找内存中不再使用的对象 引用计数法 引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾.这种方法的缺点就是不能检测到环的存在. 2.根搜索算法 根搜索算法的基本思路就是通过一系列名为”GC ...
- web:频繁刷新浏览器的页面【小工具】
[目的] 频繁刷新某一浏览器页面,小测试一下加载性能,或者打开的文件是否及时关闭,会不会导致服务器奔溃 [小工具] 新建txt,输入以下内容,并保存为html的格式,然后在浏览器中打开,则会定时刷新指 ...
- Ignoring query to other database
Ignoring query to other database 自己今天刚遇到,进入MySQL的时候,输入show databases; 产生如下错误 错误提示 Ignoring query to ...
- 使用mondorescue将本机linux centos 7服务器制作成光盘
https://blog.csdn.net/wuxianfeng1987/article/details/78059618 没试 重新封装linux系统成iso文件 https://zhidao. ...
- Mysql IN语句查询
语法: WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如: selec ...
- grep命令的常用选项
Linux的grep命令是使用正则表达式进行文本搜索的,一些对程序员很有用的选项如下: -i 忽略大小写 -w 进行普通文件匹配,而不是正则表达式匹配 -c 只统计每个文件中匹配行数(默认是输 ...
- 深度学习原理与框架-卷积神经网络基本原理 1.卷积层的前向传播 2.卷积参数共享 3. 卷积后的维度计算 4. max池化操作 5.卷积流程图 6.卷积层的反向传播 7.池化层的反向传播
卷积神经网络的应用:卷积神经网络使用卷积提取图像的特征来进行图像的分类和识别 分类 相似图像搜索 ...
- linux集群时间同步搭建
http://xstarcd.github.io/wiki/sysadmin/ntpd.html http://www.voidcn.com/blog/xuxudede1989/article/p-4 ...
- ABAP-语法检查
1.界面 2.代码 *&---------------------------------------------------------------------* *& Report ...