Java gbk轉(zhuǎn)utf-8
1、文件轉(zhuǎn)碼:使用腳本
gbk轉(zhuǎn)utf-8的腳本文件:
#!/bin/bash FILE_SUFFIX="java xml html vm js" # FILE_SUFFIX="vm" file_names="" for x in $FILE_SUFFIX do file_names=`find . -name "*.$x" | xargs file -I | grep -v utf-8 | awk -F " |:" '{print $1}'` for file_name in $file_names do # echo $file_name iconv -f cp936 -t UTF-8 $file_name >$file_name".new" && mv -f "$file_name.new" "$file_name" done echo "$x ok" done find . -name "*.xml" | xargs sed -i "" "/<?xml/s/GBK/UTF-8/g" find . -name "*.xml" | xargs sed -i "" "/<?xml/s/GB2312/UTF-8/g" echo "xml head is ok!" find . -name "pom.xml" | xargs sed -i "" "/<encoding>/s/GBK/UTF-8/g" find . -name "pom.xml" | xargs sed -i "" "/<encoding>/s/GB2312/UTF-8/g" find . -name "pom.xml" | xargs sed -i "" "/project.build.sourceEncoding/s/GBK/UTF-8/g" find . -name "pom.xml" | xargs sed -i "" "/project.reporting.outputEncoding/s/GBK/UTF-8/g" find . -name "pom.xml" | xargs sed -i "" "s/pop-vender-common-pageframe/pop-vender-common-pageframe-utf8/g" echo "pom.xml is ok!" find . -name "*.properties" | xargs sed -i "" "/input.encoding/s/GBK/UTF-8/g" find . -name "*.properties" | xargs sed -i "" "/output.encoding/s/GBK/UTF-8/g" echo "velocity properties is OK!" find . -name "strut*.xml" | xargs sed -i "" '/struts.i18n.encoding/s/GBK/UTF-8/g' echo "struts xml is ok!" find . -name "*.vm" | xargs sed -i "" "s/\/common\/js\/jdmsg\/jd-msg.js/\/common\/js\/jdmsg\/jd-msg-utf8.js/g" find . -name "*.vm" | xargs sed -i "" "/\/ui.datepicker.js/s/<script t/<script charset=\"GBK\" t/g" find . -name "*.vm" | xargs sed -i "" "/\/jquery-calendar.js/s/<script t/<script charset=\"GBK\" t/g" echo "vm is ok" echo "finished" # echo $file_names
2、文件轉(zhuǎn)碼后,本地環(huán)境改成utf-8環(huán)境,可能會有部分亂碼文件,手動修復
3、含有中文js引用增加charset="gbk"
如依賴:static.360buying.com、shop.jd.com
4、打包編譯編碼:替換成UTF-8
5、xml設置格式:以前可能為gbk或gb2312,改成utf-8
6、web.xml轉(zhuǎn)成UTF-8,請求攔截器字符編碼
如使用spring配置
<!--Character Encoding filter(字符集攔截轉(zhuǎn)換) --> <filter> <filter-name>charsetFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
7、代碼GBK使用
主要是代碼里面寫死GBK方式
如string.getBytes("GBK")替換
8、jdurl配置編碼
增加<property name="charsetName" value="utf-8"/>
避稅分頁中含有中文亂碼
如:jdurl的編碼設置:
<bean class="com.jd.pop.component.url.PopJdUrl"> <property name="url" value="${pop-vender.login.address}"/> <property name="charsetName" value="utf-8"/> </bean>
大概是這8條
重點在后面:
這時你會發(fā)現(xiàn),頁面的get請求請求服務器時還是會出現(xiàn)亂碼,別慌,那是因為tomcat的編碼你還沒有設置.
利用request.setCharacterEncoding("UTF-8");來設置Tomcat接收請求的編碼格式,只對POST方式提交的數(shù)據(jù)有效,對GET方式提交的數(shù)據(jù)無效!
要設置GET的編碼,可以修改server.xml文件中,相應的端口的Connector的屬性:URIEncoding="UTF-8",這樣,GET方式提交的數(shù)據(jù)才會被正確解碼。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
這樣就ok了!!!
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
Java SpringMVC 集成靜態(tài)資源的方式你了解嗎
本篇文章主要介紹了SpringMVC集成靜態(tài)資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-10-10MyBatis Mapper接受參數(shù)的四種方式代碼解析
這篇文章主要介紹了MyBatis Mapper接受參數(shù)的四種方式代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02Java String index out of range:100錯誤解決方案詳解
這篇文章主要介紹了Java String index out of range:100錯誤解決方案詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08SpringBoot整合Vue實現(xiàn)微信掃碼支付以及微信退款功能詳解
最近公司要在微信公眾號上做一個活動預報名,活動的門票等需要在微信中支付,下面這篇文章主要給大家介紹了關于SpringBoot整合Vue實現(xiàn)微信掃碼支付以及微信退款功能的相關資料,需要的朋友可以參考下2022-05-05springboot 使用poi進行數(shù)據(jù)的導出過程詳解
這篇文章主要介紹了springboot 使用poi進行數(shù)據(jù)的導出過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析
這篇文章主要介紹了Java線程池運行狀態(tài)監(jiān)控實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10