• 关于eclipse部署项目不乱码,在tomcat直接部署项目乱码的解决办法


    写代码总会有神奇的事情发生。

    在windows10部署自己的项目,eclipse编码格式为utf-8,server.xml 中也没有设置uriEncoding="utf-8"

    不报乱码。

    在服务器上搭建项目的时候,用tomcat中自带的startup.bat直接部署项目,发生乱码。

    三种方法亲测,第一种加第三种方法解决了我的问题,第二种我没有找到Tomcat的注册表,不过还是发出来,让大家参考。

    (还有一种办法,就是从AJAX请求获取数据的时候,设置utf-8中文编码,详情见常见问题之--ajax获取数据中文乱码问题最简单的完美解决方案)

    进入正题,解决办法1:

    可以直接在tomcat中的catalina.bat添加如下语句

    set JAVA_OPTS=-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dfile.encoding=UTF8

    rem %JAVA_OPTS%

    如下图:

    第一种方法非常方便,但是windows控制台还是会乱码。

    解决办法2:修改cmd控制台的字符编码集

     

    如果tomcat中有CodePage 那么修改十进制参数为65001 (utf-8)

    如果没有则添加。

    还有一项是修改jdk字符编码集。在系统环境变量中进行添加

    在环境变量中添加JAVA_TOOL_OPTIONS选项,添加参数-Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US,

    修改jdk编码后,cmd控制台就不会乱码了。

    解决办法3:

    1、找到~/conf/logging.properties

    2、添加语句:java.util.logging.ConsoleHandler.encoding = UTF-8

    改为:java.util.logging.ConsoleHandler.encoding = GBK,如果没有此语句,直接添加即可。

    3、重启tomcat!

    这是因为windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码

  • 相关阅读:
    Solaris 10 10/09发布
    MySQL数据库下损坏数据的恢复操作其过程总结
    [.net自定义控件]ComboBox控件重写 之ComboBoxEx
    Qt之正则表达式 QRegExp
    JavaScript中的JSON
    visual studio2008 OpenGL开发配置
    在母版页中使用UpdatePanel
    ASHX中使用Session
    ASP.NET(c#)实现中英文域名查询
    主打小巧快速Puppy Linux 4.3.1正式版发布
  • 原文地址:https://www.cnblogs.com/wanlige/p/12565795.html
Copyright © 2020-2023  润新知