|
|
1
6
servlet规范的一个不幸部分是,用于解码查询参数的编码不能由servlet自己设置。相反,它留给服务器作为配置问题。 这使得部署国际化网站变得非常困难,特别是因为servlet规范选择的默认编码不是最有用的UTF-8,而是ISO-8859-1。(实际的ISO-8859-1,甚至不是Windows代码页1252,这是编码浏览器将 真正地 要求使用ISO-8859-1时提交!) 所以如何重新配置这是一个服务器问题。对于Tomcat,它需要 some fiddling with the server.xml . 如果您没有访问服务器配置的权限,那么另一种方法是获取每个提交的参数名/值并对其重新编码。幸运的是,iso-8859-1保留了作为相同数字的unicode码位提交的每个字节,因此要将字符串转换为最初正确解释为utf-8的字符串,您可以使用iso-8859-1将每个字符串编码为字节数组,然后将字节解码回字符串u。使用UTF-8。当然,如果有人随后将服务器重新配置为使用UTF-8,则会出现问题… |
|
|
2
4
波因斯已经详细地讲过了,所以我跳过这一部分。如果您真的无法控制容器管理的URI编码,那么最好的办法就是自己动手进行URI编码。可以通过以下方式在servlets中获取原始get查询字符串:
不用说,记住这不是一个解决方案,而是一个变通方案。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 8 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 8 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 8 月前 |
|
|
rudraraj · java中未声明最终变量 9 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 9 月前 |