Aks*_*hat 3 servlet-3.0 tomcat8
我们需要设置tomcat 8容器字符编码的请求和响应ISO-8859-1的UTF-8 intead,设置是什么我们尝试设置如下所述, https://wiki.apache.org/tomcat/FAQ /#的characterEncoding Q1
但这需要创建过滤器等.有没有任何优雅的方式我们可以更改一些配置集,使其适用于容器级别
我没有足够的声誉来评论,但Tomcat 8捆绑了一个过滤器来设置字符编码.
Tomcat 8容器提供的过滤器中对此进行了描述.
需要在web.xml文件中配置此过滤器,并添加如下的其他更改.
以下配置适用于
字符编码过滤器
web.xml中
<filter>
  <filter-name>setCharacterEncodingFilter</filter-name>
  <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>setCharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
JSP页面编码
web.xml中
<jsp-config>
  <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <page-encoding>UTF-8</page-encoding>
  </jsp-property-group>
</jsp-config>
JSP创建
仅使用标准英文字符,即没有重音字符等
数据库字符类型
表列的所有字符类型都是NCHAR,NVARCHAR和NTEXT.
数据库连接字符串
对于具有排序规则"Latin1_General_CI_AS"的SQL Server 2008 R2数据库,似乎不需要将连接字符串设置为使用UTF-8.
的context.xml
 <Resource name="jdbc/gtraxDS" auth="Container"
           type="javax.sql.DataSource"  
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            url="jdbc:sqlserver://ctceu-wgc-dv026:45666; databaseName=gtraxd2"
       username="myAppUsername"
       password="myAppPa55word"/>
严格的Servlet合规性
不要设置'严格的servlet遵从性'.
The default value of URIEncoding attribute for HTTP and AJP connectors has been changed from
"ISO-8859-1" to be "UTF-8" (if "strict servlet compliance" mode is off, which is the default)
文件系统字符编码
迭代和显示以下内容:
System.getProperties();
得到:
...
file.encoding       Cp1252
file.encoding.pkg   sun.io
...
似乎不需要更改文件编码
| 归档时间: | 
 | 
| 查看次数: | 7791 次 | 
| 最近记录: |