JAVA乱码恢复

问题:如何把乱码恢复成中文数据

原因:
使用Springsecurity时把编码过滤器,放在了SecurityFilterChain后面,导致session超时后保存中文数据出现乱码:

车辆外观要求淡绿色或灰色,大型设备须有隔音或消音设施。

我觉得应该是ISO-8859-1的编码,但是转的时候看着是部分正确:

车�?�?�?要�?淡绿�?��??灰�?��?大�??设�?须�??�??�?��??�?�?�设�?��??

各位大神帮忙看看是怎么回事啊?

4个回答

首先
车辆外观要求淡绿色或灰色,大型设备须有隔音或消音设施。

这个乱码不是utf8也不是gbk.具体是什么..怪异

其次..

如果new String(str.getBytes("iso8859-1"),"utf8")或者gbk都解不了你就放弃吧..

不是所有的乱码都能还原的..不过你的部分还原..的却很诡异

你看看是否有uncoid 变为二进制了..最常见的就是 \u000 变为\00 不过你这个也不像..

总而言之...多试试..

ansjsun
ansj 你那个应该不会出现这个情况..说白了unicode 是16进制的...但是在网络传输过程中..unicode 0 会变为2进制的造成..后面的字符解码序不对..
7 年多之前 回复
Lihongyang66
Lihongyang66 谢谢回复,还是要努力一下 只用了new String(str.getBytes("iso8859-1"),"utf8") \u000 变为\00 这个怎么看啊?
7 年多之前 回复

iso-8859-1,utf-8,gbk,基本就这三类,互相转转试试

最简单的办法是把编码过滤器放在最前面,然后什么都正确!!

对于tomcat请设置:URIEncoding="UTF-8" ,什么过滤器实际上都是浮云。。。

[code="xml"]
connectionTimeout="20000"
redirectPort="8444"
maxThreads="30" minSpareThreads="10"
URIEncoding="UTF-8" compression="on"
compressionMinSize="10240"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/x-json,application/json,application/x-javascript"
/>
[/code]

tzraeq
tzraeq 支持这个,这个最直接了
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐