`
ldd600
  • 浏览: 103761 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
47bb354f-8b5f-3ea6-a206-c7ead38c741c
Hyperic插件开发不完...
浏览量:11266
社区版块
存档分类
最新评论

用utf-8编码的网站解决gbk编码的请求和应答的乱码问题

    博客分类:
  • web
阅读更多

 

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编码的问题。

分享到:
评论

相关推荐

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_

    在IT行业中,字符编码是一个非常重要的概念,尤其是在处理多语言数据和跨平台通信时。UTF-8和GBK是两种常见..."UTF-8toGBK.vi"这个VI提供了一个实用的工具,可以帮助开发者解决在处理中文字符串时可能出现的编码问题。

    UTF-8编码和GBK编码互转,一个头文件搞定!跨平台不使用第三方库

    原理是将UTF-8编码的汉字、字母、符号、数字等转换成unicode编码,而unicode和GBK编码存在对应关系,所以只需要将对应的unicode编码的数据对应转换码表(查表)即可得到GBK编码的内容,实现UTF-8和GBK编码互转。使用...

    GBK、UTF-8编码转换工具

    GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...

    java 编码 UTF-8、ISO-8859-1、GBK

    3. **数据库中的数据编码**:存储中文数据的数据库表和字段也需要使用兼容中文的编码,如GBK或UTF-8。 4. **Java默认编码**:Java虚拟机(JVM)的默认编码可能会影响文件读写和字符串处理。可以通过 `-Dfile....

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_源码.zip

    例如,如果你需要从一个使用GBK编码的系统获取数据,而你的程序默认使用UTF-8编码,那么就需要进行这样的转换,以避免乱码问题。反之,如果你的数据需要发送给使用GBK编码的系统,你也需要做相应的转换。 总之,这...

    C#写的 GBK GB2312 UTF-8转换

    GBK、GB2312和UTF-8是三种常见的字符编码标准,每种都有其特定的应用场景和特点。C#作为.NET框架下的主要编程语言,提供了丰富的类库支持对不同编码格式之间的转换。 1. **GBK编码**:GBK是中国大陆广泛使用的汉字...

    项目编码修改, GBK 变UTF-8 , 全格式转UTF-8, 编码转utf-8

    请使用这款软件,直接将代码转换为UTF-8 注意: 1、xml不需要转换,因为xml默认是utf-8,在你新建的时候已经是正确的格式了 2、图片更不需要转换 3、bin目录,gen目录的直接忽略 4.只需要src目录的代码转换,请确保...

    JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    本文将详细介绍Unicode、ISO-8859-1、GBK和UTF-8这四种常见的字符编码,并探讨它们之间的转换方法。 #### 二、基础知识 ##### 1. Unicode Unicode是一种国际字符编码标准,旨在支持世界上几乎所有语言的文字。它为...

    js实现GBK编码,避免默认utf-8编码

    前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js. 但是里面没有做出详细介绍,这里...

    UTF-8 Unicode GBK GB2312 编码之间的区别和联系

    ### UTF-8、Unicode、GBK、GB2312 编码之间的区别和联系 #### 一、引言 在互联网技术中,字符编码是非常重要的基础概念之一。字符编码不仅决定了文本在网络上的传输效率,还直接影响到了不同国家和地区用户访问...

    GBK编码转换和UTF-8编码转换模块源码

    GBK编码和UTF-8编码是两种广泛使用的字符编码标准,它们各有特点,但不兼容,因此在不同环境下进行数据交换时,需要进行相应的转换。 GBK编码是中国大陆广泛采用的一种汉字编码标准,它是GB2312的扩展,包含了更多...

    中文-UTF-8编码转换器

    标题中的“中文-UTF-8编码转换器”指的是一个软件工具,它的主要功能是帮助处理中文和其他特殊字符在UTF-8编码环境下可能出现的乱码问题。UTF-8是一种广泛使用的Unicode字符编码方案,它可以表示Unicode标准中的所有...

    c语言gbk、utf8转换编码表及函数

    GBK和UTF-8是两种常见的字符编码格式,它们各有特点并应用于不同的场景。本篇将详细介绍GBK与UTF-8编码的区别,以及如何在C语言中进行这两种编码的转换。 1. **GBK编码** - GBK是中国大陆广泛使用的汉字编码标准,...

    GBK与UTF-8转码(C++)

    2. **参数设置**:在调用`MultiByteToWideChar`和`WideCharToMultiByte`时,注意正确设置参数,特别是`CP_ACP`和`CP_UTF8`分别代表了当前系统的默认字符集和UTF-8编码。 3. **异常处理**:实际应用中应加入异常处理...

    UTF-8编码转GBK编码

    本主题聚焦于“UTF-8编码转GBK编码”,这是一个常见的需求,特别是在嵌入式系统如单片机中,由于资源限制,可能需要将UTF-8编码的字符串转换为GBK编码以便正确显示中文字符。 首先,我们要理解UTF-8和GBK这两种编码...

    Eclipse项目的GBK编码转为UTF-8插件

    当开发者将一个原本使用GBK编码的Eclipse项目导入到Android Studio时,由于Android Studio默认使用的是UTF-8编码,可能会遇到编码不匹配的问题,导致代码显示乱码或编译错误。解决这个问题通常需要手动逐个文件转换...

    关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    - 从ISO-8859-1编码转换到GBK或UTF-8时,可能会出现乱码问题,因为某些ISO-8859-1字符可能无法正确地映射到GBK或UTF-8中: ```java String isoStr = "a?"; byte[] isoBytes = isoStr.getBytes("ISO-8859-1"); ...

    UTF-8编码转换器

    UTF-8编码是一种广泛使用的字符编码标准,它在信息技术领域起着至关重要的作用。这个“UTF-8编码转换器”工具旨在帮助用户方便地将文本数据从其他编码格式转换为UTF-8,确保数据在不同系统和平台之间的兼容性。 在...

    GBK 与 UTF-8 间编码转换

    描述中提到的“用vs2017写的”小程序就是为了解决这个问题,通过编程实现GBK到UTF-8或者UTF-8到GBK的转换,以提高工作效率。 编码转换的原理通常是读取原始编码的字节流,然后根据目标编码的规则重新分配字节。对于...

    utf-8.rar_c++ string utf-8_string to utf-8_utf_utf 8_utf-8

    然而,如果你从其他编码格式(如ASCII或GBK)转换到UTF-8,就需要使用编码转换函数。例如,可以使用iconv库进行这样的转换。 在处理UTF-8字符串时,常见的操作包括: 1. **字符遍历**:由于UTF-8的多字节特性,...

Global site tag (gtag.js) - Google Analytics