zoukankan      html  css  js  c++  java
  • 日志及参数的乱码问题

    一、查看系统语言

    echo $LANG
    显示zh_CN.UTF-8说明系统支持中文编码
    

    二、查看系统是否有中文包

    locale
    

    三、Tomcat乱码解决

     假设编码用utf-8

     1、tomcat日志乱码

     设置系统编码,先设置系统编码vi /etc/sysconfig/i18n,默认为:

    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"
    

    修改为:

    LANG="zh_CN.UTF-8"
    SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
    SYSFONT="latarcyrheb-sun16"
    

    运行source /etc/sysconfig/i18n保存设置

    2、设置jvm编码

    1) 从tomcat的bin目录的sh启动tomcat

    在catalina.sh找到JAVA_OPTS配置为JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

    注:这个参数必须在jvm启动时加上,在程序中通过设置system property的方式是没有效果的,原因是jvm启动时读取file.encoding并cache,后续只使用启动时读取的编码。 后续:

    我之前直接在catalina.sh的最上方添加了JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"配置
    但是发现配置并不生效 日志仍为乱码
    原来catalina.sh中间位置有个这样的配置JAVA_OPTS=
    他又把JAVA_OPTS给置空了 怪不得配置不生效

    解决方法有两种

    在JAVA_OPTS=后面直接添加编码配置
    在下一行添加 JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"
    推荐后面这一种 不修改原配置 添加新配置才更合理

    2) 从服务中启动tomcat

    如果tomcat已配置为服务 则要修改修改/etc/rc.d/init.d目录下对应的文件,假如服务为tomcat 就修改tomcat文件 修改方式同上。

    3、tomcat参数的乱码问题

     在server.xml的connector中增URIEncoding="utf-8"

    4、数据库乱码

    url: jdbc:mysql://IP:3306/XX?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
    

     

  • 相关阅读:
    基本排序算法分析
    Linux内核浅谈
    Linux内核浅谈
    Linux内核浅谈
    淘宝架构技术的演变
    淘宝架构技术的演变
    淘宝架构技术的演变
    中间件小结
    中间件小结
    中间件小结
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/7482079.html
Copyright © 2011-2022 走看看