一尘不染

Tomcat / Linux上的UTF-8和Servlet

tomcat

我在Tomcat 6 /
Linux上从servlet读写UTF-8时遇到了一些问题。请求和响应是utf-8,浏览器是utf-8,在连接器和主机上的server.xml中都设置了URIEncoding。简而言之,代码本身对我来说所有已知的东西,服务器配置都是utf-8。

在读取请求时,我不得不从String中获取字节数组,然后再次将该字节数组转换为String。在写请求时,为了获得正确的响应,我不得不写字节,而不是String本身(否则,我会得到一个异常,说某些非ASCII字符不是有效的ISO
8859-1)。


阅读 217

收藏
2020-06-16

共1个答案

一尘不染

更改LANG环境变量是解决问题的一种方法。

官方方法是在sevlet过滤器中设置字符编码:http
://wiki.apache.org/tomcat/Tomcat/UTF-8

一些背景信息:http : //www.crazysquirrel.com/computing/general/form-
encoding.jspx

2020-06-16