实际上我不确定这是由Tomcat引起的问题。我不得不处理一些中文单词(用UTF-8编码)。当我用“Run on server”在eclipse上调试程序时,它会返回但是当我将它导出到war包并在tomcat上运行时,所有的中文单词都会显示在GBK中,无法读取。我不知道问题出在哪里。有谁能告诉我如何解决它?
答案 0 :(得分:1)
您需要进行多项更改才能将UTF-8作为默认编码字符:
<%@page contentType="text/html; charset=UTF-8" %>
,对于XML语法(也称为JSP文档)使用<jsp:directive.page contentType="text/html; charset=UTF-8" />
。response.setContentType("text/html; charset=UTF-8")
或response.setCharacterEncoding("UTF-8")
。有关详细信息,请参阅this
答案 1 :(得分:0)
除了elkorchi的回答之外,您还需要在web.xml中添加过滤器
<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>
</filter>
<filter-mapping>
<filter-name>charsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果使用spring框架,则上面有效,否则你需要像这样编写自己的过滤器并相应地更改xml配置中的类,
请参阅博客了解详情:enter link description here