关于JVM环境,导致的字符编码转换无效的解决办法
来源:互联网 发布:男士护肤 知乎 旁氏 编辑:程序博客网 时间:2024/05/21 02:02
JAVA线上项目遇到JVM环境,引起字符编码转换无效的问题
问题描述:线上的项目需要发送请求访问接口,用eclipse运行没有任何问题(因为eclipse环境设置的是UTF-8),但用maven打成jar包运行就会出现编码的问题(因为打包的JVM环境是gb2312的)。
单纯使用
byte[] bytes = rs.getBytes();String str = new String(bytes, "gb2312");
无法成功的转换
解决办法:数据请求不使用字节做转换,而是需要在流的层面上转换
URL realUrl = new URL(url);URLConnection conn = realUrl.openConnection();conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");conn.setRequestProperty("Content-type", "application/json;charset=utf-8");// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);//在流的层面上转换OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream(), "utf-8");PrintWriter out = new PrintWriter(writer);out.print(JSONObject.fromObject(param));// flush输出流的缓冲out.flush();conn.connect();
这样就可以成功发送接口请求
阅读全文
0 0
- 关于JVM环境,导致的字符编码转换无效的解决办法
- 关于iconv字符编码的转换
- 关于mysql中文字符编码设置的解决办法
- 操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效 解决办法
- 关于jvm中字符串的编码解码导致的乱码问题
- MYSQL 字符编码不对导致查询语句含有中文就出错的解决办法
- 关于转义字符和编码转换函数的研究
- 那些字符编码导致的问题
- 关于linux环境下修改mysql字符编码的问题
- 字符编码之间的转换
- QT的字符编码转换 .
- 字符编码的转换iconv
- QT的字符编码转换
- PHP 转换字符的编码
- 字符编码之间的转换
- 关于页面无效字符的问题
- 关于sql语句"无效字符"的问题
- 关于“ora-00911: 无效字符 ”的解决方案
- 如何替换掉apk中的配置
- 点击链接下载被弹框拦截
- http cookie
- 重建二叉树
- day09
- 关于JVM环境,导致的字符编码转换无效的解决办法
- QT学习路五
- leetcode_java.T020_ValidParentheses 给定一个只包含(‘, ‘)’, ‘{‘, ‘}’, ‘[’ 和‘]’的字符串,验证它是否是有效的。
- [测试]测试题
- 专题——web.xml 中 url-pattern
- Activity背景透明和窗口化
- android 四种启动模式详解
- day10
- jquery解决小数点相加精度缺失问题