常见springboot程序乱码问题

日志乱码

日志中有中文乱码,“中文” 日志打印出来是 “????”
要改成UTF-8编码。

00x0 日志编码

如果使用logback可以修改logback.xml文件配置
utf-8配置: logback.xml增加<charset>UTF-8</charset>

<appender name="FILE-AUDIT"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logdir}/log.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{1.} %M - %msg%xEx%n
            </Pattern>
            <charset>UTF-8</charset>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${logdir}/log.%d{yy-MM-dd}.%i.log</fileNamePattern>
            <maxHistory>60</maxHistory>
            <totalSizeCap>10GB</totalSizeCap>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--文件达到 最大128MB时会被压缩和切割 -->
                <maxFileSize>128 MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

00x1 JVM进程的编码

java运行jar文件时指定编码:

java -Dfile.encoding=utf-8 -jar XXX.jar

00x2 数据传输过程编码

springboot全局字符编码设置:

spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 香港好, 世纪谱鸿篇。 历尽沧桑逢盛世, 一国两制绘新蓝。 能不俱欢颜? 注:新蓝,即新的伟大蓝图。
    子祥偶记阅读 202评论 2 4
  • 【今日话题】 你四月份的目标是什么? 1.高质量学完流利说一个月的付费课程,英语口语提升一个Level. 2.碎片...
    曼步阅读 161评论 0 0
  • 今天制定了详细的健身计划,接下来就看执行了。
    无名韵动阅读 242评论 0 0