`
zhongliangjun1
  • 浏览: 3322 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

gbk编码下json传输中文乱码问题,亟待解决,求技术支持~

阅读更多
暑假期间花时间做了一个之前就构想好的社交网站(这学期大四,兴趣爱好做着玩玩的),因为涉及到图片上传等功能,所以struts2配置文件那边必须配置为
<constant name="struts.i18n.encoding" value="gbk"></constant>

但后面像发布状态、回复啊等等之类的功能为改善用户体验不可避免的用到了AJAX,我用的是struts2的json插件,接着乱码的问题就来了。
因为struts2的配置文件中设置了编码格式为gbk,加上在tomcat serve.xml中修改URIEncoding=gbk,但json插件对工程编码的要求却是UTF-8.
中文字符以UTF-8编码时占3个字节,而gbk却是两个,所以这也就产生了一个很有意思但却异常蛋疼的现象,输入的文字为奇数个时,末尾的那个字就会乱码,偶数时则可能不会(只是可能,如输入文字中含有“一”时则各种乱码),之前因为赶着做项目小聪明的用了一个投机取巧的方法,我在使用jquery post请求的时候先判断一下字数,奇数个时我就在末尾添加一个"齱"(这个字因该很少有人用到吧),到action中的时候我再把它截掉,试了试貌似还凑合,就继续赶工了(因为我还要复习考研⊙﹏⊙b汗)。但项目最近做完了,却唯独只剩下了遗留下来的这个隐患,乱码问题依旧还在,一大段文字中总会间或出现几个特不舒服的“??”,辛辛苦苦各种努力改善体验做出来的东西最后却败笔在这个乱码问题上。
我网上涉及到gbk编码下json中文乱码的资料却多是关于PHP的,难道java中很少有人碰到?
唯独找到这篇帖子http://flym.iteye.com/blog/183534#,他的问题是与我一样一样的,不才原本对过滤器就不是特别理解,没看懂他的“像过滤器一样,在进行参数编码前设置正确的编码”解决方式。
大牛们能给我提提解决问题的方法吗?或者帮助我以更好理解的方式解读一下他的解决方法,不甚感激。

分享到:
评论

相关推荐

    Java Http请求传json数据乱码问题的解决

    在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...

    GBK编码转换汉字,汉字转换GBK编码,VC代码实现

    GBK编码是GB2312编码的扩展,用于表示更多的汉字和符号,是简体中文环境下广泛使用的一种字符编码。VC++,作为Microsoft的C++开发环境,提供了丰富的库支持来处理这种编码转换。本篇文章将深入探讨如何在VC++环境中...

    js实现GBK编码,解决乱码

    在JavaScript(JS)环境中,GBK编码是一种常见的汉字编码标准,特别是在一些旧的或者不支持Unicode的系统中。GBK编码是GB2312编码的扩展,包含更多的汉字和符号,但与Unicode不兼容,因此在处理GBK编码时需要特别...

    GBK编码下jQuery_Ajax中文乱码解决方案

    ### GBK编码下jQuery_Ajax中文乱码解决方案 #### 背景介绍 在Web开发过程中,使用Ajax技术与服务器端交互数据时经常会遇到字符集编码的问题,尤其是在使用GBK编码的环境中,通过jQuery发起的Ajax请求往往会导致...

    ZXing 2.1版GBK中文乱码解决办法

    ZXing 2.1版GBK中文乱码解决办法: zxing中扫瞄二维码图片,如果包含Gbk中文,乱码解决办法是修改DecodedBitStreamParser.h文件,在里面加入GBK的判断。 在2.1版本中,解码的定义不在这个类中了,挪到了...

    汉字的拼音,GBK编码,unicode编码 对照 json

    汉字的拼音,GBK编码,unicode编码 对照 json

    关于GBK和Unicode字符集转换乱码问题

    - **编码不一致**:如果一个程序或系统默认使用GBK编码,而输入的数据却是Unicode编码,那么在没有进行正确的编码转换的情况下,显示出来的就会是乱码。 - **转换错误**:在实际操作中,如果没有正确设置转换规则...

    彻底解决中文乱码的问题

    在IT行业中,尤其是在Java编程领域,中文乱码...在提供的压缩包文件“中文乱码的问题决绝.doc”中,可能详细列举了各种情况下的乱码问题以及对应的解决办法,包括实例代码和步骤,建议查阅该文档以获取更具体的指导。

    java文件编码GBK转utf8完美解决方案

    idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...

    jsoncpp 写入乱码解决版本

    在C++编程中,乱码问题通常涉及到字符编码,如ASCII、UTF-8、GBK等。JSON数据通常以UTF-8编码存储,因为它能表示Unicode字符集中的所有字符,是网络通信的标准编码。然而,如果你的程序在处理JSON数据时,没有正确地...

    Android读取本地json文件的方法(解决显示乱码问题)

    在Android应用开发中,有时我们需要从本地存储的JSON文件中读取数据,这通常涉及到文件I/O操作和字符编码处理。...在处理中文乱码问题时,关键在于明确指定字符编码,并确保编码与解码过程的一致性。

    sqlite3 for delphi 解决中文乱码问题

    "sqlite3 for delphi 解决中文乱码问题"这个主题,正是针对这一问题提供了解决方案。这里我们将详细探讨SQLite3在Delphi中的应用,中文乱码的成因,以及如何通过自定义修改来解决这个问题。 首先,SQLite3是一个轻...

    MySQL数据库系统中文乱码问题及解决方案.pdf

    MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在数据库设计和开发中,字符集和编码方式的选择...

    解决adb传输中文出现乱码的最新版adb.exe文件

    总的来说,adb的中文乱码问题是由编码不兼容引起的,通过修改adb源码以支持不同的编码格式,可以有效地解决这一问题。这个更新版的adb.exe文件就是为了满足这一需求而产生的,它使得开发者在处理中文文件时更加顺畅...

    json中文乱码

    ### JSON中文乱码问题解析与解决方法 #### 一、问题背景 在处理JSON数据时,经常遇到中文字符出现乱码的问题。这主要是由于编码不一致导致的。本篇文章将详细探讨这一问题,并提供相应的解决方案。 #### 二、JSON...

    Netty进制转换乱码问题

    7. **调试与日志**:在解决问题的过程中,日志是非常重要的工具。通过打印接收到的字节数组和解码后的字符串,可以帮助定位问题。 总结,Netty中的进制转换乱码问题通常源于字符编码不一致或处理不当。解决此类问题...

    Ajax中文乱码问题解决方案

    1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码,导致传输的中文字符无法正确解析。 2. **HTTP头设置不当**:Ajax请求未正确设置...

    乱码 编码方式解决 gbk ISO8859-1 utf8 编码

    本文将针对标题中的几种常见编码格式(GBK、ISO 8859-1、UTF-8)以及如何解决由这些编码方式引发的乱码问题进行深入探讨。 #### 一、编码概述 1. **GBK编码**:GBK是GB2312标准的扩展,支持简体中文,是Microsoft ...

    cxf客户端出现GBK编码问题解决jar.rar

    综上所述,解决CXF客户端的GBK编码问题需要对服务端和客户端的配置有深入理解,并且要确保在数据传输的每个环节都正确处理字符编码。通过以上步骤,你应该能够解决大多数由GBK编码引起的乱码问题。在实际应用中,...

    GBK汉字编码速查 / GBK汉字编码表

    此外,GBK编码与UTF-8等其他编码方式有所不同,因此在处理中文数据时需要注意编码转换的问题,以避免乱码。在编程和数据分析中,正确处理字符编码是至关重要的,否则可能导致显示错误或者数据丢失。 总之,GBK汉字...

Global site tag (gtag.js) - Google Analytics