亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java后端請(qǐng)求兌現(xiàn)request的中文亂碼問(wèn)題解決

 更新時(shí)間:2025年02月24日 09:41:44   作者:lijiabin417  
文章主要講述了在處理處理方案工作中遇到中文亂碼問(wèn)題的解決過(guò)程,通過(guò)復(fù)現(xiàn)和分析亂碼問(wèn)題,發(fā)現(xiàn)是由于解碼規(guī)則和后端服務(wù)編碼不一致導(dǎo)致的,最終通過(guò)修改過(guò)濾器中的編碼設(shè)置解決了問(wèn)題

處理方案

工作中遇到了請(qǐng)求對(duì)象中的屬性出現(xiàn)中文亂碼的問(wèn)題,最初想到的處理方案就是嘗試將亂碼字符串進(jìn)行解碼,嘗試過(guò)了很多解碼方式,然而結(jié)果并不理想,做好的結(jié)果解釋解決了一部分亂碼的問(wèn)題。。。。

String str1="嫻嬭瘯";
System.out.println(new String(str1.getBytes("gbk")));

String str2="鐧誨綍鍚?";
System.out.println(new String(str2.getBytes("gbk")));

結(jié)果如下:

正常情況下我們所期望的結(jié)果時(shí)(測(cè)試、登錄名)

  • 可以很明顯的看出,但字符數(shù)為偶數(shù)個(gè)的時(shí)候還好,但是當(dāng)字符為奇數(shù)的時(shí)候就會(huì)有問(wèn)題。而且一般像那種亂碼中帶了?類似的奇怪符號(hào)的根本無(wú)法再解出來(lái)。
  • 想到了奇數(shù)和偶數(shù)字符編碼的問(wèn)題,有些處理亂碼經(jīng)驗(yàn)的程序員可以想到gbk和ut8的編碼轉(zhuǎn)換問(wèn)題。

1.簡(jiǎn)單的推理

我們來(lái)復(fù)現(xiàn)一下,代碼如下:

String str2="登錄名";
System.out.println(new String(str2.getBytes("utf-8"),"gbk"));

結(jié)果如下:

看,這不就是我們之前用gbk解碼之前的亂碼字符串嗎,很容易得出結(jié)論,和我們后臺(tái)交互的服務(wù)的編碼時(shí)utf-8,但是我們默認(rèn)使用的解碼規(guī)則時(shí)gbk。。。。。

至于為什么gbk和utf-8都有中文編碼,但是互轉(zhuǎn)會(huì)亂碼以及奇數(shù)和偶數(shù)亂碼的問(wèn)題,我就不再贅述了,可以參考如下文章gbk和utf-8轉(zhuǎn)換亂碼問(wèn)題解析

2.解決

既然已經(jīng)找到問(wèn)題的所在了,現(xiàn)在要著手解決問(wèn)題了,后端項(xiàng)目用的springboot,設(shè)置了編碼的utf-8,所以tomcat的編碼應(yīng)該也沒(méi)有問(wèn)題,業(yè)務(wù)代碼中也沒(méi)有編碼的修改,那么就可能時(shí)過(guò)濾器或者這邊的攔截器有問(wèn)題,突然想起來(lái)之前項(xiàng)目對(duì)接了一個(gè)認(rèn)證平臺(tái),加入了第三方提供的一個(gè)過(guò)濾器,可能他們提供的過(guò)濾器編碼有問(wèn)題,查看過(guò)濾器的配置,發(fā)現(xiàn)沒(méi)有編碼的配置。em~,可能他們提供的過(guò)濾器有默認(rèn)編碼。。。

好家伙,對(duì)著新加入的過(guò)濾器一陣翻找,還真發(fā)現(xiàn)了他編碼相關(guān)的參數(shù),好吧,他什么都沒(méi)有

這個(gè)時(shí)候就想辦法給他設(shè)置一下編碼,再過(guò)濾器中設(shè)置對(duì)應(yīng)的編碼

        Map<String, String> initParameters = new HashMap<String, String>();
        initParameters.put("encoding", "utf-8");
        filter.setInitParameters(initParameters);

設(shè)置編碼之后,之前中文亂碼的問(wèn)題處理好了。

3.提示

這只是適合我遇到問(wèn)題的處理場(chǎng)景,編碼的問(wèn)題說(shuō)簡(jiǎn)單也簡(jiǎn)單,說(shuō)難也難,當(dāng)生產(chǎn)環(huán)境出現(xiàn)了亂碼的問(wèn)題,沒(méi)法復(fù)現(xiàn)和調(diào)試就更加惱火,這時(shí)候可以請(qǐng)求你的技術(shù)組長(zhǎng)或者相關(guān)大佬,你踩過(guò)的坑說(shuō)不定他們已經(jīng)遇到過(guò),這樣能快速處理問(wèn)題,避免繼續(xù)卡住影響后續(xù)的工作;當(dāng)然,時(shí)間足夠的情況下可以深入研究,畢竟總有天賦異稟的人能第一個(gè)吃螃蟹。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論