java中各种乱码问题

关于IDEA乱码问题

  • 使用IDEA编辑器乱码(配置文件中文乱码)
    • 1,问题描述
    • 2、问题原因
    • 3、解决办法
  • Tomcat项目中控制台乱码问题
    • 1,问题描述
    • 2、解决方案

使用IDEA编辑器乱码(配置文件中文乱码)

1,问题描述

IDEA的其他注释都是正常的显示,但是只有配置文件的注释是乱码的,如下:
java中各种乱码问题_第1张图片

2、问题原因

①,配置文件的默认编码和其他的不同,配置文件的编码是:ISO-885-1。而ISO-885-1不能显示中文的原因是它本身是单字节的编码,要显示中文,就要使用UTF-8。
②,还有个可能原因是未勾选Transparent native-to-ascii conversion

3、解决办法

打开IDEA的siting->Editing->File Enconding ,然后在Default encoding for properties files下拉选UTF-8,最后点OK,时候,配置文件就可正常的显示中文了。乱码问题就解决了。
java中各种乱码问题_第2张图片

Global Encoding:全局编码
Project Encoding:项目编码
Properties File:配置文件编码

设置中的 是否 Transparent native-to-ascii conversion及其作用:

Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。

他的工作原理是:在文件中输入文字时他会自动的转换为Unicode编码,然后在idea中发开文件时他会自动转回文字来显示。这样做是为了防止文件乱码。
下面比较啰嗦,可以不用看了。
根据我个人理解,我觉得这个选项的作用是把你properties中的ASCII码转换成中文展示给你了。比如勾选之前在properties中定义name=\u5317\u4eac,勾选以后看到的是name=北京。

有这么两种场景:

第一种:勾选。在properties敲中文的备注和中文的待读取内容:1.取消勾选以后,看到到中文全都转成ASCII;2.其他团队成员拉取到的代码是ASCII;3.push到git上面是ASCII。也就是说比如有同事用的eclipse用中文写的备注,你这边编辑以后push会把原来中文的注释全都用ASCII覆盖,这个就是勾选以后造成的影响。

第二种:不勾选。在properties敲中文的备注,取消勾选以后看到的也是中文,因为它本身不是ASCII没法转码,暂时没发现什么问题;在properties敲中文的待读取内容,代码读取到的是乱码,这个是我遇到的问题,我把这些中文换成ASCII,读取到的就是正常的了。

Tomcat项目中控制台乱码问题

1,问题描述

tomcat用启动的时候出现乱码,如图:
java中各种乱码问题_第3张图片

java中各种乱码问题_第4张图片

2、解决方案

①,tomcat的日志配置文件的编码需要修改,找到tomcat安装目录,修改编码 conf/logging.properties文件中修改为UTF-8(GBK自己选则)如图:
java中各种乱码问题_第5张图片
②,配置IDEA中控制台的编码
在tomcat配置页面添加

-Dfile.encoding=UTF-8

java中各种乱码问题_第6张图片

你可能感兴趣的:(开发常见小问题,tomcat,intellij-idea,java)