我需要获取 HTTP 请求的实际字符编码。
我可以使用 HttpServletRequest.getCharacterEncoding()
,但是当请求中未指定编码时,它会返回 null
。我可以假设它是 ISO-8859-1
那么,according to the FAQ和 HTTP 规范。
我仍然宁愿调用一个简单地告诉我它是什么的方法,而不是基于规范来假设事情。有这种方法吗?
最佳答案
当有人发送请求时,他/她有责任为他们的请求设置正确的编码,如果他/她不这样做,那么它应该被安全地视为垃圾。推测服务器端的请求编码不是明智之举,因为这会在以后导致意想不到的问题。最好让请求失败,而不是自己承担事情。此外,尽可能早地使请求失败,因为不必要的处理会消耗资源,如果保护不当,可能会成为潜在的漏洞。
关于java - 在 Servlet/Tomcat 中获取请求编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072416/