tomcat服务器上utf8编码的文件乱码解决方法

对于 tomcat 服务器上的 utf8 文件乱码的问题,找到以下解决方法,特此记之:

问题表现

  • jsp 文件不乱码;
  • 只有 html 等静态资源文件乱码;
  • html 文件 charset 设置正确;
  • 需要转为 utf-8-bom 编码才可以正常访问;

解决方法

具体设置如下,其他非tomcat应用服务器也应该是一样的原理:

Linux

可以通过设置export LANG=zh_CN.UTF-8设置环境变量

Windows:

  • 如果通过startup.bat启动,则需要在catalina.bat中设置set JAVA_OPTS=-Xms256m -Xmx2048m -Dfile.encoding=utf-8

  • 如果是通过windows服务启动tomcat,则需要执行tomcatw.exe进行配置,增加Dfile.encoding=utf-8

引用

出现这个问题,应该跟 SiteMesh 过滤器有关系,也和操作系统初始值有关系,在过滤器中没有取到字符集后选择了 ISO8859-1 导致的。所以在操作系统中制定字符集就可以解决。

本文内容整理自:https://blog.csdn.net/winderain/article/details/51803440,感谢网友分享。