[JAVA] IOException: Invalid byte 2 of 2-byte UTF-8 sequence(解决办法)
日志打印不全,后台只打印出出标题的异常信息:
先前的日志打印信息:log.debug(e.getMessage());
后面改成了日志打印信息:log.debug(e); log.debug(e.getStackTrace());
日志打印的重要性,不能单单只打印Message
问题原因查找,这个问题在微信支付的维权功能中出现,在网上找了原因之后,下面这个连接给出的最准确:
http://blog.csdn.net/linkyou/article/details/3975491
根本原因是以下代码:
public static InputStream String2Inputstream(String str) throws IOException {
return new ByteArrayInputStream(str.getBytes("UTF-8"));
}
在getBytes里加上UTF-8即可,根本原因是由于我们服务器上的编码方式是GBK的,这个时候这里取getBytes时会取得服务器上的编码方式,从而报错
总结:在任何地方涉及到字符串和二进制流转换的时候编码方式是一个重点需要关注的地方,所有编码方式都必须确定,而不是取自于服务器,对编码方式统一管理才是王道,同时,只能感叹,又被微信支付给坑到了,不过已经习惯了~
[JAVA] IOException: Invalid byte 2 of 2-byte UTF-8 sequence(解决办法)的更多相关文章
- 14 python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 26: illegal multibyte sequence解决方法
>>> f = open("D:\\all.txt", "r")>>> f.read()Traceback (most re ...
- java PKCS7Padding 加密Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
在java中用aes256进行加密,但是发现java里面不能使用PKCS7Padding,而java中自带的是PKCS5Padding填充,那解决办法是,通过BouncyCastle组件来让java里 ...
- java.net.BindException: Address already in use: JVM_Bind:80 异常的解决办法
今天遇见了这个端口被占用问题 然后各种百度 先是说 用命令 netstat -a -n -o 最后一个选项表示连接所在进程id. 找到8080端口的PID然后打开任务管理器, 切换到进程选项卡, 在菜 ...
- java微信公众号开发token验证失败的问题及解决办法
本文引自http://m.blog.csdn.net/qq_32331997/article/details/72885424 微信公众平台服务器配置时,需要引入token,但是提交的时候总是提示to ...
- 关于Java加载属性文件放在web容器不好使的解决办法
//使用Spring的工具就行了1 import java.util.Properties; import org.springframework.core.io.support.Properties ...
- bug_ _ java.lang.IllegalArgumentException: pointerIndex out of range 问题的两种解决办法
========== 4 如何解决java.lang.IllegalArgumentException: pointerIndex out of range? 今天遇到一个bug:java.l ...
- Python中ValueError: invalid literal for int() with base 10 的实用解决办法
爬虫代理IP由芝麻HTTP服务供应商提供今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了 totalCount = ' totalPage = int(totalCount)/20 Value ...
- java不同的包下相同的类名的问题与解决办法
Java中的类以包进行分类组织,当程序中需要用到某个包下的类时,可以以该类的全限定名进行引用.这样,不同的包中的类就可以同名,不会产生混淆. 但是这样就可能导致引用的时候会产生一些问题. 第一个问题, ...
- xcrun: error: invalid active developer path (/Applications/Xcode.app/Contents/Developer)解决办法
背景 mac下卸载了xcode,使用git等命令时就提示错误.invalid active path(Applications/Xcode.app/Contents/Developer),这种情况可以 ...
随机推荐
- VC中基于 Windows 的精确定时[转]
在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等.特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要 ...
- Python sorted函数对列表排序
http://jingyan.baidu.com/article/f3ad7d0ffe8e1409c2345b48.html http://www.cnblogs.com/100thMountain/ ...
- 转:sql之left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- phpstorm配置代码自动同步到服务器
首先找到你的菜单栏找到Tools 然后点击配置 填写你的服务器信息 填写好项目目录 选择自动上传
- Wijmo 5 与Breeze 的组合,及与METRONIC 的集成
1.Wijmo 5 是支持ANGULARJS 的HTML5 控件 http://wijmo.gcpowertools.com.cn/ 官方试用版 C1Wijmo-Eval_5.20151.42 ...
- Python之调用WebService:suds
suds官方: https://fedorahosted.org/suds/wiki/Documentation 互联网公开WSDL: http://www.webxml.com.cn/zh_cn/w ...
- liunux mysql MySQL表名不区分大小写的设置方法
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lowe ...
- ABAP 销售范围
*&---------------------------------------------------------------------* *& Report ZSDR008 ...
- 掌握VS2010调试 -- 入门指南
1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...
- 解决Odoo出现的Unable to send email, please configure the sender's email address or alias.
这是由于当前登录用户的邮件地址信息缺失造成的,需要设置其邮件地址. 方法:使用创建该用户的管理员帐号登录系统,开启技术特性,在需要设置邮箱地址的用户界面点击相关的业务伙伴标签链接,如图所示: