我在 Tomcat 6/Linux 上从 servlet 读取和写入 UTF-8 时遇到了一些问题。请求和响应为 utf-8,浏览器为 utf-8,URIEncoding 在连接器和主机上的 server.xml 中设置。简而言之,我所知道的所有代码本身以及服务器配置都是 utf-8。
在读取请求时,我必须从字符串中获取字节数组,然后再次将该字节数组转换为字符串。在写入请求时,我必须写入字节,而不是字符串本身,才能获得正确的响应(否则我会得到一个异常,指出某些非 ASCII 字符无效 ISO 8859-1)。
最佳答案
更改 LANG 环境变量是解决问题的一种方法。
官方的做法是在sevlet过滤器中设置字符编码:http://wiki.apache.org/tomcat/Tomcat/UTF-8
一些背景信息:http://www.crazysquirrel.com/computing/general/form-encoding.jspx
关于java - Tomcat/Linux 上的 UTF-8 和 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/714339/