当前位置: 首页 > news >正文

关于 idea 里 properties 文件的中文乱码问题

背景

你会发现 properties 文件里的中文可能会出现乱码。

这个因为 properties 规范是使用 iso-8859-1 存储的,不支持中文(也不支持西欧里法语、德语里奇怪的字母)

properties 的标准制定于很早,所以没考虑这么多,properties 要存储中文,要么可以改成用 UTF-8 编码,要么使用 Unicode 转义,要么用英文别用中文

不用中文注释还好,但是可能避免不了有些 key 值就是中文的,比如
mail.message=邮件信息的提示是中文怎么都避免不了

最佳实践

  • properties 的文件注释尽量不用中文
  • 使用 unicode转义(最推荐
  • 使用 UTF-8 编码
    这个方式破坏了传统,由于 properties 文件应用广泛,很多读取这类型的文件是没对非默认编码做处理的,到时出莫名其妙的错会找不到北

在 idea 里的做法
最好的做法就是 idea 提供的障眼法,就是保持上面的配置不变(默认iso-8859-1),但是勾选 Transparent native-to-ascii conversion (默认没勾选)

修改地方
New Projects Setup -> Settings for New Projects … -> Editor -> File Encodings (新开项目立即生效,推荐

Settings -> Editor -> File Encodings (仅当前project生效)

在这里插入图片描述

该配置的作用:障眼法
即 properties 文件还是 ISO-8859-1 编码,但是你打开查看的时候 idea 帮你把 \uXXXX 这种 Unicode 转为你看得懂的中文,你编辑文件的时候把你输入的中文转为\uXXXX

你如果用其他编辑器打开配置文件,由于其他编辑器没有转换功能,你看到的文件内容就是最原始的 \uXXXX 这种。

这个是最好最稳妥的处理方式

http://www.dtcms.com/a/317747.html

相关文章:

  • 「iOS」————单例与代理
  • 使用PHP与Apache实现服务器端文件管理
  • 19day-人工智能-机器学习-分类算法-决策树
  • docker 部署Bedrock Connector
  • 希尔排序:高效插入排序的进阶之道
  • 从零开始部署Qwen3-8b大模型到本地
  • Centos 安装 redis
  • 17_INIT_WORKLinux内核模块
  • prefetch 下载 GEO 数据注意事项
  • 设计模式—桥梁模式(Bridge)
  • 移动端跨平台框架(支持Harmony、iOS、Android)
  • 《第十篇》深入解析 `MilvusKBService`:基于 Milvus 的知识库服务实现
  • 在线计算“蛋白-蛋白复合物”的MM/GBSA
  • KMP算法详解及应用指南
  • Cartographer安装测试与模块开发(四)--Cartographer纯定位思路
  • 【代码随想录day 12】 力扣 102.107.199. 二叉树的层序遍历
  • 数据库设计方法详解
  • Spring之【初识AOP】
  • 应急响应linux
  • 英伟达算力卡巅峰对决:H100、A100与消费级显卡哪里找?
  • 数语科技登陆华为云商店,助力企业释放数据潜能
  • day20|学习前端
  • JavaScript 基础语法
  • 频数分布表:数据分析的基础工具
  • Adobe Analytics 数据分析平台|全渠道客户行为分析与体验优化
  • Qt 容器类详解:顺序容器与关联容器及其遍历方法
  • [LVGL] 配置lv_conf.h | 条件编译 | 显示屏lv_display
  • 组合模式(Composite Pattern)及其应用场景
  • 基于spring boot的个人博客系统
  • tkwebview-tkinter的web视图