java - 如何设置Tomcat的编码类型?

标签 java eclipse tomcat7

其实我不确定是不是Tomcat的问题。我必须处理一些中文单词(编码为UTF-8)。当我在eclipse上用“Run on server”调试程序时,它会返回达到了预期的结果。但是当我将其导出为war包并在tomcat上运行时,所有中文单词都会以GBK显示,并且无法阅读。我不知道问题出在哪里。谁能告诉我如何解决它?

最佳答案

您需要进行一些更改才能将 UTF-8 设为默认编码字符:

  • 在 server.xml 中的连接器上设置 URIEncoding="UTF-8"。
  • 使用默认编码设置为 UTF-8 的字符编码过滤器
  • 更改所有 JSP 以在其 contentType 中包含字符集名称。 例如,使用 <%@page contentType="text/html; charset=UTF-8" %>对于通常的 JSP 页面和 <jsp:directive.page contentType="text/html; charset=UTF-8" />用于 XML 语法的页面(又名 JSP 文档)。
  • 更改所有 Servlet 以设置响应的内容类型并将内容类型中的字符集名称包含为 UTF-8。 使用response.setContentType("text/html; charset=UTF-8")response.setCharacterEncoding("UTF-8") .
  • 将您使用的任何内容生成库(Velocity、Freemarker 等)更改为使用 UTF-8,并在它们生成的响应的内容类型中指定 UTF-8
  • 在字符编码过滤器或 jsp 页面有机会将编码设置为 UTF-8 之前,禁用任何可能读取请求参数的阀门或过滤器。

有关更多信息,请参阅 this

关于java - 如何设置Tomcat的编码类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37660099/

相关文章:

java - 如何使用适用于 Windows、Mac 和 Linux 的通用文件路径保存文件?

eclipse - 单元测试 servlet

java - Tomcat 7 ClassNotFoundException : org. apache.tomcat.JarScanner

shell - Tomcat servlet 引擎未运行,但 pid 文件存在。这条消息是什么意思?如果我得到它,我需要恢复 Tomcat 吗?

tomcat - 是否可以在嵌入式 Tomcat 7 中启用 JMX?

java - 反向列表实现和指针理解

Java 通用 : Can a Generic extends another Generic class?

Java 将 double 舍入为任意数 (9)

java - Spring Boot中分项目的使用方法

java - Eclipse 启动配置错误 : GrammaticalStructure. 1 引用不存在的项目开始