Linux系统字符编码:
http://www.cnblogs.com/zhzhao/p/4516997.html
linxu配置文件:
http://blog.chinaunix.net/uid-14735472-id-4305151.html
一般在我们在windows开发程序时用GBK编码格式在windows系统上可以显示,
但到了Linux环境中就出现乱码,出现这种问题按以下3步检查:
1.检查日志编码配置
log4j.properties:
log4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.Threshold=INFO
log4j.appender.A.File=${catalina.home}/logs/test/log
log4j.appender.A.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.Encoding=UTF-8
log4j.appender.A.layout.ConversionPattern=[FH_sys] %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n
logback.xml:
<appender name="file"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${catalina.home}/logs/test/%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
2.检查tomcat配置
server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding='UTF-8'/>
3.检查服务器编码配置
donald@192.168.32.126:~> locale
LANG=zh_CN.GBK
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK
修改Linux字符集:
vim /etc/profile
export LC_ALL=zh_CN.UTF-8
:wq
加载新配置:
source /etc/profile
donald@192.168.32.126:~> locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
这个时全局的配置编码集,有的时候用户的配置文件中配置LANG或LC_ALL也要进行相应的修改
这个在家目录的.bashrc和.profile文件即可
重启服务,即可。
附:linux配置文件区别
/etc/profile,/etc/bashrc 是系统全局环境变量设定~/.profile,~/.bashrc用户家目录下的私有环境变量设定当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc;
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系;
3然后在根据用户帐号读取~/.bashrc,至于~/.profile与~/.bashrc的不区别,都具有个性化定制功能~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次.
分享到:
相关推荐
"idea日志乱码和tomcat日志乱码问题的解决方法" 本文主要介绍了idea日志乱码和tomcat日志乱码问题的解决方法,旨在帮助开发者解决日志乱码问题,提高开发效率和质量。 知识点1:Tomcat日志乱码问题 Tomcat日志...
- **日志框架选择**:除了内置的Apache JULI外,还可以考虑使用Log4j、Logback等第三方日志框架,这些框架提供了更灵活的配置选项,有助于解决乱码问题。 通过以上步骤,大部分情况下的Tomcat日志乱码问题都能得到...
- 提供了具体的配置示例,如如何在Tomcat服务器中配置`log4j`等。 #### 8. Nested Diagnostic Contexts (NDCC) - `NDCC`是`log4j`中的一项高级特性,允许开发者在特定上下文中记录日志,这对于调试复杂的多线程应用...
### Log4j手册详解 #### 1. 概述与主要组件 Log4j是一款功能强大的日志框架,用于简化应用程序中的日志记录过程。它提供了灵活的日志记录功能,允许开发者根据不同的需求和场景调整日志的输出级别、格式以及目的地...
- 如果使用的是自定义日志框架,如Log4j,需在配置文件中指定编码,例如`log4j.appender.stdout.Encoding=UTF-8`。 4. **文件上传与下载**: - 文件上传时,确保表单使用`enctype="multipart/form-data"`,并在...
该手册详细介绍了Log4j的基本概念及其使用方法,适合初学者及进阶用户参考。 #### 1.1 日志记录的重要性 在程序开发过程中,日志记录是非常重要的组成部分。它不仅帮助开发者追踪问题,还能在生产环境中提供有价值...
#### 四、解决控制台日志乱码问题 1. **修改logging.properties文件** - 在Tomcat安装目录下的`conf`文件夹中找到`logging.properties`文件,使用记事本或其他文本编辑器打开。 - 添加或修改以下配置项: ```...
- 除了Java自带的`java.util.logging`,还可以使用如Log4j、Logback等更强大的日志框架。这些框架通常提供了更丰富的配置选项,包括指定日志输出的字符编码。 5. **分析文件内容**: 提供的压缩包中包含了一个名...
3. **Log4j配置文件(log4j.properties或log4j.xml)**:设置日志记录级别、输出位置、格式等,帮助开发者追踪和分析程序运行情况。 4. **Action类**:实现了业务逻辑,处理用户的请求并返回结果。 5. **模型类...
同时,针对“log乱码问题处理”,说明该版本解决了日志输出时可能出现的字符编码问题,确保日志内容的可读性。 【标签】:“tomcat8.5.56 个人jvm优化 垃圾回收优化 log乱码处理”进一步明确了这个版本的特性。个人...
- 日志框架如Log4j、Logback的日志配置文件也要指定UTF-8编码,确保日志中的中文字符能正常显示。 通过以上步骤,大部分EL中文显示乱码的问题都能得到解决。如果问题依然存在,可能需要进一步排查其他潜在因素,如...
- 如使用Log4j,可以在log4j.properties或log4j.xml中设置编码: ```properties # log4j.properties log4j.appender.stdout.Encoding=UTF-8 log4j.appender.file.FileEncoding=UTF-8 ``` 通过以上步骤,大...
在日志文件中出现乱码时,检查日志框架的配置,比如Log4j的`<encoder>`元素中的`charset`属性。 通过以上这些方法,大部分的WEB开发中的乱码问题都可以得到解决。但实际应用中,可能还会遇到一些特殊情况,需要...
6. **日志和异常信息**:日志和异常信息也可能出现乱码,确保日志框架(如Log4j或Logback)的配置文件中指定UTF-8编码。 7. **数据库连接池配置**:如果你使用了数据库连接池(如C3P0或HikariCP),需要检查连接池...
如果日志中出现乱码,检查日志框架(如Log4j)的配置,确保其输出的编码与系统编码一致。 通过以上步骤,可以在不编写过滤器的情况下解决Struts中的乱码问题。每个环节都至关重要,需要仔细检查和配置,确保在整个...
- **日志文件**:日志库,如Log4j或Commons Logging,用于记录程序运行时的信息,便于调试和监控。 - **数据连接池**:如C3P0或DBCP,是管理数据库连接的工具,提高数据库访问效率,避免频繁创建和关闭连接。 - *...
10. **日志输出**:日志框架如Log4j,也要设置合适的字符集,以免输出的日志出现乱码。 通过以上这些方面对Web项目的各个环节进行检查和调整,大多数乱码问题都能得到解决。当然,实际开发中可能遇到更复杂的情况,...
log4j等日志工具的输出和struts、hibernate、spring等框架的配置文件,也可能因编码设置不当而出现乱码。 ##### 2.7 过滤器与XML解析 EncodingFilter用于统一应用内的字符编码,而XML解析时的字符集指定不当,也会...
- **增加log4j.properties文件**:为了方便系统的调试,需要在项目的`src`目录下创建`log4j.properties`文件。该文件用于配置日志记录级别、输出格式等,以满足不同的调试和运行时日志需求。 - 示例配置: ```...
在`log4j.xml`配置文件中调整日志级别和输出位置,以便查看程序运行时的详细信息。 在解决可能出现的问题时,需要检查JDK是否满足1.6及以上版本,数据库编码是否已设置为UTF-8。此外,配置文件的正确性,如`jdbc....