用utf-8编码的网站解决gbk编码请求和应答的乱码问题
一.目前现状
server.xml
<Connector URIEncoding="utf-8"
connectionTimeout="200000" port="7080"
protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
|
character filter dofilter方法
try {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
} finally {
chain.doFilter(request, response);
}
|
vm(velocity)模板
<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8" />
|
二.问题
整个网站采用了统一的UTF编码,但是在和易宝支付做对接的时候,易宝要求提交的form采用gbk编码,并且返回给我们的应答也是gbk编码。泪奔。
解决应答form表单的编码问题
1. 在特定的controller中重设特定的编码或者在filter中根据不同的url pattern设置成不同的编码。
2.vm模板修改
<meta http-equiv="Content-Type"
content="text/html; charset=$!{charset}" />
|
解决易宝get请求gbk的编码问题
因为tomcat配置了URIEncoding,等我们获取request.getParameter的时候已经是乱码了。于是我们从querystring中获取中文的value,然后再用gbk解码。
URLDecoder.decode(value, charset);
如果是post请求,根据特定的URL pattern或在特定的controller中重设request.setCharacterEncoding(“gbk”)就可以了。
最后,终于解决了gbk编码的问题。
分享到:
相关推荐
GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...
可以实现编码转换,使用编码utf-8转换成gbk
请使用这款软件,直接将代码转换为UTF-8 注意: 1、xml不需要转换,因为xml默认是utf-8,在你新建的时候已经是正确的格式了 2、图片更不需要转换 3、bin目录,gen目录的直接忽略 4.只需要src目录的代码转换,请确保...
原理是将UTF-8编码的汉字、字母、符号、数字等转换成unicode编码,而unicode和GBK编码存在对应关系,所以只需要将对应的unicode编码的数据对应转换码表(查表)即可得到GBK编码的内容,实现UTF-8和GBK编码互转。使用...
Recognize类判定指定文本文件为UTF-8还是GBK编码格式。
C#写的 GBK GB2312 UTF-8转换 功能简单,仅供学习
前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js. 但是里面没有做出详细介绍,这里...
Java工程编码格式由GBK转化成utf-8(编码格式互转) https://ymjin.blog.csdn.net/article/details/118769530
UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_源码.zip
老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBK转UTF-8
基于MFC CString的GBK与UTF-8编码转换,在网上找到一些代码都有问题,但都存在一些错误。现在改好了,与大家分享一下。 (MFC 非UNICODE)
主要 用于单片机 中文编码 UTF-8转GBK, 1、UTF-8 无法转GBK 2、UTF-8 转 Uincode后,再在Uincode对应GBK表中查询,查找对应数值
idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...
Linux 下批量 gbk 转 utf-8 编码脚本
GB2312编码与utf-8编码的字符串的转换,主要使用windows api函数MultiByteToWideChar和WideCharToMultiByte,代码简洁,经测试可用
JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
2.UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载...
Python 简单使用 pandas 读取excel 的 csv文件处理,支持utf-8和gbk编码自动识别。
关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
编码(UTF-8 GBK等等)批量转换 支持各种格式 非常适用大量需要转换编码的文件