你的專案亂碼了嗎?

2021-08-24 23:22:51 字數 1011 閱讀 2473

專案中遇到亂碼很正常,特別是和別的專案對接時更是尋常,這週在專案中解決的get亂碼問題,場景是乙個tomcat下執行了新老2個專案,其中老專案編碼是gbk的,而新介面專案是採用utf-8編碼,現在主要的問題是因為tomcat的server.xml中的埠配置了

uriencoding="gbk",這就會導致所有訪問這個tomcat下的get請求url引數都會被gbk格式解碼,即使請求頭上有content-type為utf-8格式或者有request.setcharacterencoding("utf-8");也不好使,如下是解決方案,另加遇到post亂碼時 通常解決方案

1.本專案中解決方案:

a:新加乙個埠,這個埠配置uriencoding="utf-8",在新專案亂碼的請求走這個埠

b:請求引數用gbk格式編碼

2.其它情況get請求亂碼處理方案:

a:tomcat中sevice.xml對應埠配置uriencoding="utf-8"

b:僅限於iso8859-1編碼轉gbk或者utf-8對應方法轉碼new string(json.getbytes("iso8859- 1"),"utf-8");

(new string(json.getbytes("gbk"),"utf-8")這個方法是把gbk編碼格式轉為utf-8格式,但是有個問題是gbk轉utf-8時,奇數個中文會亂碼,偶數個中文不會亂碼。)

3.post請求亂碼處理方案:

1.使用過濾器過濾請求設定編碼(傳統ssm還有web.xml的專案)

endocding

org.springframework.web.filter.characterencodingfilter

encoding

utf-8

2.方法中使用request.setcharacterencoding("utf-8");設定請求編碼 response.setcharacterencoding("utf-8");設定響應編碼

你的php網頁亂碼了嗎

一 學習php的童鞋在編寫網頁的時候,要是設計到中文內容的儲存的時候,大多會出現乙個問題就是亂碼。一般亂碼的話,我們可以檢查三個方面 1 網頁編碼是否正確,比如是否在頭部那裡加入原標籤 1 metacharset utf 8 2 檢查mysql資料庫儲存時預設使用的字符集 3 檢查網頁檔案的編碼,是...

你盡力了嗎

你盡力了嗎 自己都覺得這裡的水平底的一塌糊塗,當然也包括我自己了,所以我經常也要 跑到whnet去問問題,有時候都恨自己怎麼這麼菜啊。scz 四哥 說 bbs是不能真正學到東西的,不過這裡能開闊人的視野,能得到對大方向的指引,能夠了 是的,真的是足夠了,要不是scz的指引,我不會走這條路的,當時在g...

《你盡力了嗎?》

發信人 cloudsky 小四 信區 security 標 題 你盡力了嗎 發信站 武漢白雲黃鶴站 mon apr 17 19 52 54 2000 站內信件 很多人問如何入門如何入門,我卻不知道要問的是入什麼門。很少把某些好文章耐心從頭看完,我這次就深有體會。比如袁哥的sniffer原理,一直以為...