首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URIEncoding = 'UTF-8‘是如何工作的?

URIEncoding = 'UTF-8‘是如何工作的?
EN

Stack Overflow用户
提问于 2012-12-27 20:08:02
回答 2查看 11.7K关注 0票数 0

当我在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"在这种方法中是如何工作的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-27 20:14:20

URIEncoding参数就是您要查找的内容。它设置在URI解码查询字符串时要使用的字符编码。

您可以在server.xml中将其用作Connector实体的属性。

如果在过去成功地使用了它。

票数 3
EN

Stack Overflow用户

发布于 2012-12-28 06:15:21

首先,让我们使用更新版本的Tomcat。7.0.0是老版本:Request.java from Tomcat 7.0.34

其次,parseParameters方法不设置编码:它获取由其他组件设置的编码。可能设置了内容编码的一些地方:

  1. 连接器的URIEncoding (根据HTTP RFC,缺省值为ISO-8859-1 )
  2. 请求正文编码(来自HTTP请求的内容类型header)
  3. Another组件--可能通过查看参数的值

来嗅探编码

如果您只想在站点中无条件地将URI编码设置为UTF-8,那么只需在<Connector>中使用URIEncoding属性即可。

这个问题的直接答案是,server.xml的URIEncoding属性在此方法中不起作用:它在其他地方起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14054454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档