GBK和UTF-8之间的战争,websphere6.1乱码解决方案

战争,折磨的都是码农...

1.Tomcat默认编码,ISO8859_1,

2.websphere6.1我自定义编码GBK

3.旧项目编码GBK,

4.新项目编码utf-8  

这是背景

旧项目发出请求,到新项目中,这就涉及了传参的编码问题,前篇文章(http://hi.baidu.com/ae6623/item/cae883036a9c6ccb75cd3cfa)介绍了如果解决Tomcat前台传UTF-8编码后,后台解析为UTF-8的解决方案,在Tomcat上运行很ok,近期,领导吩咐小码农将项目搞到websphere6.1上面,欢天喜地解决种种困难之后,终于将war包挂到了服务器上,服务器上的websphere6.1很奇葩,GBK编码,死活不能解码成UTF-8,后来,发现websphere它自己经过一些设置,看截图

在通用JVM参数自定义编码:-Dclient.encoding.override=GBK 

可以把前台传来的GBK不用解码就怎么传来的,怎么解出来了,所以我的解码程序就不用管了,但是这不是高潮,高潮是领导让Tomcat下也要能够运行,我次奥,要挑战逻辑了,前台GBK,到websphere不需要解码,前台GBK到Tomcat必须字符集切换一下(就是重新编码成识别的字符串,用param = new String(param.getBytes("ISO8859_1"), "GBK");)这其中,经过了N多的尝试,一开始,我就让它

String param = req.getParameter("docNo");param = new String(param.getBytes("ISO8859_1"), "utf-8");

发现失败,依然乱码乱的不行,就换

param = new String(param.getBytes("GBK"), "utf-8");

更乱,再换

param = new String(param.getBytes("utf-8"), "GBK");

靠,乱的还是那么有型....放弃了,各种百度,发现又是前台二次编码,后台二次解码,二次你大爷!!!!于是尝试

param = new String(param.getBytes("ISO8859_1"), "GBK");

ok ,解决问题,不再乱码...

这其中的艰辛啊,只有被玩过的人才知道玩过的东西真他M的难玩....

我自己理解的就是如果前台GBK编码过来,你后台不需要解码,因为Tomcat对于req.getParameter("docNo")已经自己解码了一次了,我们只需要转换一下字符集即可!

2013年3月20日15:01:58

qq 394263788

落雨

时间: 2024-10-26 04:00:15

GBK和UTF-8之间的战争,websphere6.1乱码解决方案的相关文章

揭秘字幕组之间的战争:为抢首发几十人轮值

"我没什么文化.家里太穷了,初中没读完就跑出来打工了.别的字幕组嘲笑我们时,总会说'他们老大没念什么书'."喜欢这么自嘲的是人人影视字幕组(YYets)的负责人梁良,而他谈到别的字幕组时也毫不客气:"TLF依然老牌,伊甸园(YDY)很强劲,风软(FR)比较全面,破烂熊(PLX)自娱自乐,其他都是小打小闹的玩意儿,像悠悠鸟(UUBird)这种偷字幕的就别说是字幕组了,丢人." 梁良出生于1981年,16岁时外出打工,1999年开始混迹温州,2008年赴上海和宁波,去年

百度和奇虎360之间的战争愈发精彩

硅谷网9月3日讯 中国http://www.aliyun.com/zixun/aggregation/6300.html">互联网搜索巨头百度和挑战者奇虎360之间的战争每天都愈发精彩,百度正寻求一些有趣的新战术来扞卫其市场主导地位.最新发展事态是,百度似乎要求很多其企业客户切断与奇虎360的关系,这场战争看似正日益血腥,双方都将采取一切手段攻击 对方. 事实上,当百度和中国多数其他互联网先锋企业还在循规蹈矩时,奇虎卷入这种乱战已有时日,且深谙其道.百度似乎把自己降到奇虎水平的事实,可能意

谈谈这些年域名服务器服务商之间的战争

中介交易 SEO诊断 淘宝客 云主机 技术大厅 众所周知,无论是域名还是服务器都是我们现在高度发展的互联网的基础,没有它们一切都是空的,这些东西我们称之为基础设施,相应的厂商我们也称之为基础服务提供商.这些年在这个领域确实发生了翻天覆地的变化. 其实我写这篇文章是因为最近看了很多关于一些巨头纷纷推出自己此类服务的文章,作为一个已经做了几年西部数码代理的人来说,我认为其实这些巨头推出这些服务只是这个行业的冰山一角了,其实背后一直在发生着很多很多的事情. 身在一线的草根站长们其实是做能感受到这些变化

JS中页面与页面之间超链接跳转中文乱码问题的解决办法_javascript技巧

在原页面一张图片上添加了一个链接,链接中有中文,于是出现下面的情况:   解决办法是在tomcat的server.xml文件的中加入URIEncoding="utf-8",如下: <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443

一场IT民工 与 人贩子 之间的战争 - 感受来自PostgreSQL的爱

标签 PostgreSQL , 图数据库 , 社会关系分析 , 流式分析 , 人贩子 , 图像识别 , 人脸识别 , 公安刑侦 , pipelinedb , stream , neo4j , plproxy , sharding , 交通数据处理 , 天眼 背景 快过年啦,提防人贩子,小孩要带好. 有两部片子<失孤>.<亲爱的>拍得触目惊心. 很多家庭耗尽时间和金钱,找了很多年还是没有找到,最终选择了放弃. 社会中依旧还有很多爸爸妈妈还没有找到丢失的孩子,除了严打罪犯:作为IT人,

C语言实现GBK/GB2312/五大码之间的转换

以下四个函数分别实现: 大五码转GBK码/GBK转大五码 GB2312码转GBK码/GBK码转GB2312码 //--------------------------------------------------------------------------- // 大五码转GBK码: void __fastcall BIG52GBK(char *szBuf) { if(!strcmp(szBuf, "")) return; int nStrLen = strlen(szBuf);

MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题_Mysql

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. character-set-table:数据库表字符集. 优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集. character-set-client:客户

清除行内元素之间HTML空白的几种解决方案

行内块(inline-block)是非常有用的特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时,行内元素之间的空白有时候显示在屏幕上那是相当的讨厌   至今我还记得年轻是在IE6上开发的那些苦逼日子,特别希望IE浏览器采用 inline-block 的显示方式. 行内块(inline-block)是非常有用的,特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时. 问题来了,HTML源码中行内元素之间的空

invalid byte sequence in GBK(github rake generate 发布文章时字符乱码解决办法)

当我使用rake generate想生成静态页面时,提示出现编码问题: 我很确定_post目录下的markdown文件已经是无BOM的UTF-8格式了,但只要该markdown文件中包含有中文字符就会出现上面的错误. 解决方案: 找到你的Ruby安装目录,如我的是:D:\Ruby193, 在里面找到文件D:\Ruby193\lib\ruby\gems\1.9.1\gems\jekyll-0.12.0\lib\jekyll\convertible.rb 在该文件中找到下面句子: # Returns