V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
juzi214032
V2EX  ›  Java

InteliJ IDEA 中自定义 YML 属性中文提示乱码问题

  •  
  •   juzi214032 · 2019-03-27 17:12:11 +08:00 · 2439 次点击
    这是一个创建于 2102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 SpringBoot 中,使用了@ConfigurationProperties注解自定义配置类,并引入spring-boot-configuration-processorjar 包。在类的字段上作了注释,然后在 yml 中写配置时就会有提示。

    @Data
    @ConfigurationProperties(prefix = "juzi")
    public class MyProjectProperties {
    
        /**
         * 中国志愿网
         */
        private ChinaVolunteerProperties volunteer;
    
    }
    

    使用过程中发现注释如果是中文就会乱码,现象如图

    经过自己研究,发现原因如下: 之所以能有代码提示,是因为spring-boot-configuration-processor生成了一个spring-configuration-metadata.json文件,在target/classes/MATE-INF目录下。该文件编码格式为 UTF-8,但是 IDEA 在读取此文件时使用的是 GBK 编码( Windows10 环境下)。所以就造成了中文乱码的问题。

    现在想到的解决办法就 2 个:

    • spring-configuration-metadata.json生成的编码格式改为 GBK
    • 修改 IDEA 读取spring-configuration-metadata.json文件时使用的编码为 UTF-8

    但是两种方法都不知道应该怎么实现,不知道有没有遇到过此问题的大佬

    4 条回复    2019-11-18 16:03:57 +08:00
    art2cat
        1
    art2cat  
       2019-03-27 17:21:55 +08:00   ❤️ 1
    Settings>Editor>File Encodings ? 这个不行吗?
    juzi214032
        2
    juzi214032  
    OP
       2019-03-27 18:12:29 +08:00 via Android
    @art2cat 这个只能设置源码文件的编码,不能设置那个生成的 json 文件编码
    cyspy
        3
    cyspy  
       2019-03-27 19:10:12 +08:00
    全局 UTF-8 解决
    liangyun
        4
    liangyun  
       2019-11-18 16:03:57 +08:00
    现在解决了吗,我也遇到了这个问题,不过我感觉和编码关系不大,因为我的类注释是可以正常显示的,只是字段注释不能正常显示
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:16 · PVG 17:16 · LAX 01:16 · JFK 04:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.