Java gbk转utf-8
1、文件转码:使用脚本
gbk转utf-8的脚本文件:
#!/bin/bash FILE_SUFFIX="javaxmlhtmlvmjs" #FILE_SUFFIX="vm" file_names="" forxin$FILE_SUFFIX do file_names=`find.-name"*.$x"|xargsfile-I|grep-vutf-8|awk-F"|:"'{print$1}'` forfile_namein$file_names do #echo$file_name iconv-fcp936-tUTF-8$file_name>$file_name".new"&& mv-f"$file_name.new""$file_name" done echo"$xok" done find.-name"*.xml"|xargssed-i"""/<?xml/s/GBK/UTF-8/g" find.-name"*.xml"|xargssed-i"""/<?xml/s/GB2312/UTF-8/g" echo"xmlheadisok!" find.-name"pom.xml"|xargssed-i"""/<encoding>/s/GBK/UTF-8/g" find.-name"pom.xml"|xargssed-i"""/<encoding>/s/GB2312/UTF-8/g" find.-name"pom.xml"|xargssed-i"""/project.build.sourceEncoding/s/GBK/UTF-8/g" find.-name"pom.xml"|xargssed-i"""/project.reporting.outputEncoding/s/GBK/UTF-8/g" find.-name"pom.xml"|xargssed-i"""s/pop-vender-common-pageframe/pop-vender-common-pageframe-utf8/g" echo"pom.xmlisok!" find.-name"*.properties"|xargssed-i"""/input.encoding/s/GBK/UTF-8/g" find.-name"*.properties"|xargssed-i"""/output.encoding/s/GBK/UTF-8/g" echo"velocitypropertiesisOK!" find.-name"strut*.xml"|xargssed-i""'/struts.i18n.encoding/s/GBK/UTF-8/g' echo"strutsxmlisok!" find.-name"*.vm"|xargssed-i"""s/\/common\/js\/jdmsg\/jd-msg.js/\/common\/js\/jdmsg\/jd-msg-utf8.js/g" find.-name"*.vm"|xargssed-i"""/\/ui.datepicker.js/s/<scriptt/<scriptcharset=\"GBK\"t/g" find.-name"*.vm"|xargssed-i"""/\/jquery-calendar.js/s/<scriptt/<scriptcharset=\"GBK\"t/g" echo"vmisok" 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配置
<!--CharacterEncodingfilter(字符集拦截转换)--> <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配置编码
增加<propertyname="charsetName"value="utf-8"/>
避税分页中含有中文乱码
如:jdurl的编码设置:
<beanclass="com.jd.pop.component.url.PopJdUrl"> <propertyname="url"value="${pop-vender.login.address}"/> <propertyname="charsetName"value="utf-8"/> </bean>
大概是这8条
重点在后面:
这时你会发现,页面的get请求请求服务器时还是会出现乱码,别慌,那是因为tomcat的编码你还没有设置.
利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!
要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。
<Connectorport="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"URIEncoding="UTF-8"/>
这样就ok了!!!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!