• Tomcat 访问静态资源出现中文乱码解决办法(转)


    https://blog.csdn.net/weixin_42340119/article/details/85257966

    写了一个简单的web项目,在自己电脑的eclipse里面调试一切正常,但部署到公司服务器的tomcat里运行时,首页中文乱码,百思不得其解。
    网上查了很多方法,包括把tomcat的server.xml中设置成
    也尝试了修改tomcat中bin目录下的Catalina.bat中的set “JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8”配置,均不奏效。
    期间摸索中发现问题本质是网站首页是html写的,spring会交给tomcat默认的servlet来处理,当我把首页用jsp编写的时候,就不会出现中文乱码。在tomcat的web.xml中看见如下描述:

    <!--   fileEncoding        Encoding to be used to read static resources   -->
    <!--                       [platform default]                             -->

    也就是说使用的是平台默认的字符编码,怪不得在eclipse上运行可以正常,因为我的eclipse设置默认编码是utf-8,而服务器本地的tomcat就随操作系统的默认字符编码,据说是GBK,然后我在web.xml中设置了fileEncoding为utf-8,重启tomcat,终于解决

    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>fileEncoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    ————————————————
    版权声明:本文为CSDN博主「ftp199」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42340119/article/details/85257966

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/14623605.html
Copyright © 2020-2023  润新知