tomcat - tomcat中的字符编码

标签 tomcat character-encoding

我在 Tomcat 6.0 中遇到编码问题。在我指定的所有 jsp 页面上

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
页面指​​令中的

pageEncoding="UTF-8"。但是当我通过 get 或 post 方法传递参数(西里尔字母)时,我输入了另一个符号。我读过要在发布方法中解决此问题,我必须设置 request.setCharacterEncoding("UTF-8"); 这确实对我有帮助。我还读过要在 get 方法中修复它,我必须在 server.xml 的连接器元素中指定 URIEncoding="UTF-8"。它也确实适用于 get 方法,但前提是我没有指定 request.setCharacterEncoding("UTF-8");。因此,如果我同时指定它们,则只有 post 方法的参数传递效果很好。 我怎样才能用 get 方法做到这一点?

编辑 当我使用表单通过 GET 方法传递参数时,server.xml 中的 URIEncoding 有效。但是,如果我在 servlet 中使用 response.senRedirect()(也使用 GET 方法)方法,它会用另一个符号修改西里尔字母参数

已解决 使用 java.net.URLEncoder 解决了这个问题。每个参数都必须通过 URLEncoder.encode(par, "UTF-8") 进行编码。然后它就会正确显示。

最佳答案

我通过在 tomcat server.xml 的 http 和 ajp 连接器中添加 URIEncoder=UTF-8 解决了这个问题。除了这个什么都没做。我正在使用 Spring、apache/tomcat。

关于tomcat - tomcat中的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380364/

相关文章:

javascript - jQuery getJSON 响应

amazon-web-services - 如何在 AWS 上为 Tomcat 配置 HTTPS

tomcat - 用于 Tomcat 的基于 Web 的 JMX 控制台?

tomcat - IBM Sterling Configurator与Websphere Commerce的集成

java - 使用 Java、Hibernate 和 JPA 将 MySQL latin1 转换为 UTF-8

php - 为什么这个 str_ireplace() 在非 ASCII 字符串上工作?

tomcat - 在 Tomcat 上禁用连接池

java - 在下载页面之前如何获取页面的编码?

php - 奇怪的字符编码问题导致js函数失败或添加不需要的字符

php - PHP MYSQL、latin1_swedish_ci 和 utf8_general_ci 的非法混合排序规则