java - Tomcat/Linux 上的 UTF-8 和 Servlet

标签 java tomcat encoding servlets utf-8

我在 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/

相关文章:

java - 无法在数组类型 int[] 上调用我的方法

tomcat - 如何使用 IP 地址而不是本地主机访问我在 tomcat 服务器上运行的应用程序

tomcat - @RequestMapping (“/” )无法访问

tomcat - JAS 2.2 和 Facelet 支持 jar

ruby - 从 Ruby 中的 UTF-16 编码文件中读取内容

php - Zend DB 和编码

java - 如何在不同的 java IDE 中保持一组 ant 构建脚本的更新?

java - 如何修复堆结构的循环

iphone - 除 ffmpeg x264 之外的 H264 编码器

java - GUI 中监听器嵌套类的优点