是否有可能以编程方式获取Tomcat使用的编码方案来解码GET参数?
我知道你可以强制Tomcat使用特定的编码,但这是因为我无法控制Tomcat设置。我正在考虑通过自己解析查询字符串来获取正确的编码,或者尝试使用Tomcat对其进行解码来重新编码该值,然后使用UTF-8对其进行解码以获得正确的字符串。
答案 0 :(得分:1)
从http://www.w3schools.com/tags/ref_urlencode.asp开始,URL编码为ASCII,特殊字符的规则可以轻松反转。 GET中的参数是URL编码的。
如果你在谈论GET本身的价值,那么,你的问题确实没有意义(或者我误解了你),因为你将在Java servlet中获得一个字符串。该参数已经被解码。您无需担心编码。
答案 1 :(得分:0)
您始终可以尝试执行getCharacterEncoding
。虽然有一个保证。如果在server.xml
中未更改URIEncoding属性,则可以始终采用ISO-8859-1。如果您获得带有getParameter
的字符串,请检索原始字节并使用UTF-8编码构造一个新字符串。 URL始终以UTF-8文本形式转义。