一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java gbk轉utf-8

Java gbk轉utf-8

2020-08-03 16:32小明快點跑 Java教程

本文主要介紹了Java gbk轉utf-8的方法,具有一定的參考價值,下面跟著小編一起來看下吧

1、文件轉碼:使用腳本

gbk轉utf-8的腳本文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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、文件轉碼后,本地環境改成utf-8環境,可能會有部分亂碼文件,手動修復

3、含有中文js引用增加charset="gbk"

   如依賴:static.360buying.com、shop.jd.com

4、打包編譯編碼:替換成UTF-8

5、xml設置格式:以前可能為gbk或gb2312,改成utf-8

6、web.xml轉成UTF-8,請求攔截器字符編碼

   如使用spring配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<!--Character Encoding filter(字符集攔截轉換) -->
<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的編碼設置:

?
1
2
3
4
<bean class="com.jd.pop.component.url.PopJdUrl">
<property name="url" value="${pop-vender.login.address}"/>
<property name="charsetName" value="utf-8"/>
</bean>

大概是這8條

重點在后面:

這時你會發現,頁面的get請求請求服務器時還是會出現亂碼,別慌,那是因為tomcat的編碼你還沒有設置.

利用request.setCharacterEncoding("UTF-8");來設置Tomcat接收請求的編碼格式,只對POST方式提交的數據有效,對GET方式提交的數據無效!

要設置GET的編碼,可以修改server.xml文件中,相應的端口的Connector的屬性:URIEncoding="UTF-8",這樣,GET方式提交的數據才會被正確解碼。

?
1
2
3
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />

這樣就ok了!!!

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!

原文鏈接:http://www.cnblogs.com/xiaoming0601/p/6369901.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品吹潮香蕉在线观看 | 成人高清视频在线观看 | 91尤物在线视频 | 交换年轻夫妇HD中文字幕 | 亚洲精品6久久久久中文字幕 | 欧美国产在线 | 色婷婷激婷婷深爱五月老司机 | 久久精品国产亚洲AV蜜臀 | 国产成人亚洲精品91专区高清 | 亚洲欧美日韩另类在线 | 福利片免费一区二区三区 | 亚洲啊v | 日本私人影院 | 日本艳鉧动漫1~6在线观看 | 精品亚洲视频在线观看 | 人生路不在线观看完整版 | 青青草成人影院 | 风间由美被义子中文字幕 | 男人捅女人的鸡鸡 | 亚洲午夜精品久久久久久成年 | 亚洲精品卡1卡二卡3卡四卡 | 日韩亚洲欧美综合一区二区三区 | 视频一区二区 村上凉子 | 亚洲午夜久久久久影院 | 日本草草视频 | 爱爱一级视频 | 欧美在线视频免费播放 | 日产一区二区 | 午夜宅男影院 | 2019nv天堂香蕉在线观看 | 情人我吃糖果小说 | 四虎黄色影视库 | 青青草原国产在线 | 2020年国产精品午夜福利在线观看 | 国产乱码免费卡1卡二卡3卡四 | 91混血大战上海双胞胎 | 思思91精品国产综合在线 | 欧美高清在线精品一区二区不卡 | 婷婷精品进入 | 美女露奶奶 | 884aa草莓视频|