今天同事反馈遇到一个使用http客户端返回数据乱码问题,我当时第一反应就是charset编码格式问题,心里想着同事刚工作1年左右,经验不足很正常。然后隔空指导了准备秀一下操作的,然后翻车了。
打印了下日志发现是个别中文字符乱码问题,然后我改成UTF-8还是GBK还是ISO都没啥反应,这不能够啊。看来不能想当然了,得重视这个问题了。
大量中文返回的时候不能用EntityUtils.toString去处理,因为它内部实现有个1024的buffer操作,毕竟老外写得库,不会考虑中文。使用BufferedReader按行读取,或者使用ByteArrayOutputStream一次性全部读取再进行字符串编码处理。
....上面的代码省略 |
- 本文标题: 个别中文字符乱码问题
- 文章作者: sherryriver(木木三可)
- 发布时间: 2022.02.21
- 本文链接: https://sherryriver.github.io/2022/02/21/个别中文字符乱码问题/
- 许可协议: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。