当我在http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/connector/Request.java#Request.parseParameters%28%29上查看tomcat源代码时,我找不到在哪里为来自get方法的queryString设置编码,也不知道server.xml中的配置URIEncoding="UTF-8"在这种方法中是如何工作的。
发布于 2012-12-27 20:14:20
URIEncoding参数就是您要查找的内容。它设置在URI解码查询字符串时要使用的字符编码。
您可以在server.xml中将其用作Connector实体的属性。
如果在过去成功地使用了它。
发布于 2012-12-28 06:15:21
首先,让我们使用更新版本的Tomcat。7.0.0是老版本:Request.java from Tomcat 7.0.34
其次,parseParameters方法不设置编码:它获取由其他组件设置的编码。可能设置了内容编码的一些地方:
来嗅探编码
如果您只想在站点中无条件地将URI编码设置为UTF-8,那么只需在<Connector>中使用URIEncoding属性即可。
这个问题的直接答案是,server.xml的URIEncoding属性在此方法中不起作用:它在其他地方起作用。
https://stackoverflow.com/questions/14054454
复制相似问题