中文乱码处理(项目中解决方法)

今天在做远程医疗项目中,遇到了个较难的中文乱码问题,先不同浏览器(ie6、ie8)之间出现乱码,后查实是不同的tomcat出现乱码

所以有了以下步骤:

1、页面处理两次js encodeURI

<a href="#" onclick="location.href=encodeURI(encodeURI('/advice/readyGuidance.jspx?personId=${patientId}&patientName=${patientName}))">

2、tomcat中server.xml加了

<Connector URIEncoding="utf-8" 
               port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" /><Connector URIEncoding="utf-8" 
               port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

3、action中解码

//patientName = new String(patientName.getBytes("ISO-8859-1"),"utf-8"); //这个是转码
patientName=java.net.URLDecoder.decode(patientName,"UTF-8"); //这个是解码

你可能感兴趣的:(中文乱码处理(项目中解决方法))