使用Java获取服务器的编码

时间:2011-08-05 17:54:49

标签: java tomcat servlets decode encode

是否有可能以编程方式获取Tomcat使用的编码方案来解码GET参数?

我知道你可以强制Tomcat使用特定的编码,但这是因为我无法控制Tomcat设置。我正在考虑通过自己解析查询字符串来获取正确的编码,或者尝试使用Tomcat对其进行解码来重新编码该值,然后使用UTF-8对其进行解码以获得正确的字符串。

2 个答案:

答案 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文本形式转义。