JAVA辅导:乱码解决方案
来源:优易学  2011-11-21 11:04:40   【优易学:中国教育考试门户网】   资料下载   IT书店

  1、JVM中缺省字符集
  或者在环境变量中配置JAVA_OPTS=%JAVA_OPT%;-Dfile.encoding=GBK -Duser.language=zh_CN
  或者在Tomcat的启动脚本中配置JAVA_OPTS=%JAVA_OPT%;-Dfile.encoding=GBK -Duser.language=zh_CN
  2、Tomcat的URIEncoding ,处理GET方式的乱码问题
  在server.xml中配置:
  <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"
  3、Struts2的Locale配置
  在Struts.xml中配置
  <constant name="struts.locale" value="zh_CN" />
  <constant name="struts.i18n.encoding" value="UTF-8" />
  4、采用Spring的过滤器对POST页面编码
  <filter>
  <filter-name>encodingFilter</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>
  <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/</url-pattern>
  </filter-mapping>
  5、页面统一编码为UTF-8
  在common/meta.jsp中
  <meta http-equiv="Cache-Control" content="no-store"/>
  <!-- HTTP 1.0 -->
  <meta http-equiv="Pragma" content="no-cache"/>
  <!-- Prevents caching at the Proxy Server -->
  <meta http-equiv="Expires" content="0"/>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta name="generator" content="Mobile-soft.cn" />
  <meta http-equiv="keywords" content="mobile,payment,telecommunication,internet">
  <meta http-equiv="description" content="mobile-soft">
  同时在各页面中包含meta.jsp页面及设定pageEncoding:
  <%@ include file="/common/meta.jsp" %>
  <%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html;charset=GBK" %>
  6、数据库编码
  数据库建库时候字符集编码采用UTF-8
  在applicationContext-resources.xml中,mysql的配置
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url"
  value="jdbc:mysql://localhost/mysql?useUnicode=true&amp;characterEncoding=UTF-8"/>
  <property name="username" value="root"/>
  <property name="password" value=""/>
  <property name="maxActive" value="100"/>
  <property name="maxIdle" value="30"/>
  <property name="maxWait" value="1000"/>
  <property name="defaultAutoCommit" value="true"/>
  <property name="removeAbandoned" value="true"/>
  <property name="removeAbandonedTimeout" value="60"/>
  <property name="validationQuery" value="SELECT 1"/>
  <property name="testOnBorrow" value="true"/>
  </bean>

[1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训