跟大家请教个问题,java http 协议 http://xxxx/xxx/xxx?payname=哈喽 ,get 方式获取到的编码是iso8859-1(也可以设置tomcat编码解决),
最近跟第三方接口通讯,人家传中文过来我接收的就是乱码(人家说我们环境问题,也不给我们看他们代码,也不太想解决),那就我们自己解决.
我们环境接收到get带中文参数 请求接收到 "哈喽" 俩字 直接 getParameter 就是 åå½
他们环境发过来带中文参数 请求接收到 "哈喽" 俩字 直接 getParameter 就是 ���
我在本地模拟了下,tmp_gb2312_2 这个样子, 请教下 能否把我转乱的 ��� 恢复成 "哈喽" 俩字吗?
下面是我的测试代码,tmp_iso8859_1 能恢复,gb2312就恢复不了.
String payname = request.getParameter("payname"); //哈喽 String tmp_utf8 = new String(payname.getBytes("iso8859-1"), "utf8");
String tmp_iso8859_1_1 = new String(tmp_utf8.getBytes("utf8"), "iso8859-1"); String tmp_iso8859_1_2 = new String(tmp_iso8859_1_1.getBytes("iso8859-1"), "utf8");
String tmp_gb2312_1 = new String(tmp_utf8.getBytes("utf8"), "gb2312"); String tmp_gb2312_2 = new String(tmp_gb2312_1.getBytes("gb2312"), "utf8"); String tmp_gb2312_3 = new String(tmp_gb2312_2.getBytes("utf8"), "iso8859-1");
payname=åå½ tmp_utf8=哈喽 tmp_iso8859_1_1=åå½ tmp_iso8859_1_2=哈喽 tmp_gb2312_1=��� tmp_gb2312_2=??? tmp_gb2312_3=???
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。