關于 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.pswp.cn/pingmian/92242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92242.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BVH文件 解析 解讀的python第三方類庫 推薦

我們面臨多個第三方庫選項用于解析BVH文件,根據您的列表,我將分析幾個關鍵庫的特點,并推薦最適合當前任務的庫。我們將基于以下標準進行選擇: ??功能性??:是否能準確解析關節角度數據,支持關鍵幀操作 ?…

uni-app X能成為下一個Flutter嗎?

哈嘍,我是老劉 老劉使用Flutter作為客戶端主要技術棧的這六七年的時間里,關于跨平臺開發的爭議和新技術始終沒有停過。 “一套代碼,多端運行”——這個讓無數開發者心動的承諾,究竟是技術革命還是美麗的謊言? 想象一…

Spring Cloud Gateway全棧實踐:動態路由能力與WebFlux深度整合

一、為什么需要下一代網關? 傳統網關的三大瓶頸: #mermaid-svg-Kdei9Io6KntYGQc4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Kdei9Io6KntYGQc4 .error-icon{fill:#552222;}#mermaid-svg-…

MongoDB數據存儲界的瑞士軍刀:cpolar內網穿透實驗室第513號挑戰

軟件名稱:MongoDB 操作系統支持:Linux、Windows、macOS(Docker版全平臺通用!) 軟件介紹: MongoDB是一個基于分布式架構的NoSQL數據庫,擅長處理復雜數據類型(如嵌套對象、數組&…

SPI TFT全彩屏幕驅動開發及調試

簡介SPI(Serial Peripheral Interface)是一種廣泛使用的串行通信協議,常用于微控制器(MCU)與外圍設備(如傳感器、顯示屏、存儲器等)之間的通信。SPI具有全雙工傳輸、主從結構和較高的傳輸速率&a…

Linux學習—數據結構(鏈表2)

1.單向鏈表6.鏈表的查找在鏈表中找到指定的第一個元素沿用遍歷思想,每次訪問一個節點元素判斷是否為要找的節點符合條件返回該節點地址到最后沒有找到符號條件的節NULLlinknode *find_linklist(linknode *phead, datatype tmpdata) {linknode *ptmpnode NULL;ptmpn…

MySQL 備份利器 Xtrabackup 全解析:從部署到恢復的實戰指南

數據庫備份恢復是 DBA 的 “保命” 技能,生產業務不僅要保證有合適的備份策略,也要定期驗證備份的有效性和恢復演練流程,因為數據恢復和驗證可能會涉及多方合作,演練可以讓災難真正發生時,多方配合有條不紊的將數據恢復…

EAGLE-2:通過動態草稿樹加速語言模型推理

溫馨提示: 本篇文章已同步至"AI專題精講" EAGLE-2:通過動態草稿樹加速語言模型推理 摘要 現代 Large Language Models(LLMs)的推理過程既昂貴又耗時,而 speculative sampling 已被證明是一種有效的解決方案…

防水防塵防摔性能很好的智能三防手機,還有22000mAh大電池

在電力巡檢的崇山峻嶺間,在野外地質勘探的風沙深處,在應急救援的急風驟雨里,傳統智能設備因其固有的脆弱性與續航短板往往力不從心,甚至成為保障工作連續性的掣肘。而真正的智能三防手機應是一堵移動的堡壘,集堅不可摧…

Charles中文版抓包工具使用指南 提高API調試和網絡優化效率

在現代開發過程中,調試API、捕獲HTTP/HTTPS流量和優化應用的網絡性能已經成為開發者的常見任務。尤其是在調試復雜的API接口和分析網絡請求時,開發者需要一款高效且功能強大的工具。Charles抓包工具憑借其強大的網絡調試功能和易用的操作界面&#xff0c…

【C#補全計劃:類和對象(九)】接口

一、接口的概念1. 概念:接口是行為的抽象規范,也是一種自定義類型2. 接口聲明規范:(1)不包含成員變量(2)只包含屬性、方法、索引器、事件(3)成員不能被實現(4…

SRS簡介及簡單demo

SRS介紹 SRS(Simple Realtimes Server)是一款開源的實時流媒體服務器,專注于解決直播、實時互動等場景的流媒體傳輸問題。SRS 的設計目標是 “簡單、穩定、高效”,專門針對實時流媒體協議(如 RTMP、HLS、HTTP-FLV、WebRTC 等)進行優化,專注于解決 “低延遲、高并發” 的…

python基礎:數據解析BeatuifulSoup,不需要考慮前端形式的一種獲取元素的方法

1.beatuifulSoup 基本用法 beautifulSoup(簡稱bs4)是python的一個第三方庫,用于解析html和xml文檔中提取數據的python庫。它能夠將復雜的文檔轉化為樹形結構,方便快速定位和提取所需數據以及查找和修改,常常與爬蟲框架…

Ubuntu共享文件夾權限設置

在Ubuntu中設置共享文件夾的權限(只讀、讀寫、無權限),主要通過兩種方式實現:?文件系統權限?和?Samba共享配置?。以下是詳細步驟:?一、文件系統權限設置(基礎權限)?1. ?修改文件夾所有權…

小程序點擊菜單欄實現樣式動態切換

小程序點擊菜單欄背景樣式動態切換 前言:今天做一個小程序項目,要做一個菜單欄動態切換的功能,因為這種需求很常見,這次干脆記錄一下,幫助別人的同時,自己下次也可以直接照搬使用。 效果截圖如下&#xff1…

掌握工程化固件燒錄,開啟你的技術進階之路-FPGA ISE(xilinx)

1、電腦需先行安裝ISE14.7。若已完成安裝,此步驟可略過;若尚未安裝,在后續章節會介紹如何安裝ISE,由于ISE14.7的安裝程序體量龐大,可借助U盤進行傳輸。同時,電腦需預留至少30G的存儲空間以用于安裝該程序。…

Android 之 面試八股文

?1.Activity生命周期????問題??:描述Activity從啟動到銷毀的完整生命周期方法,并說明onSaveInstanceState()的調用時機。??參考答案??:onCreate()→ onStart()→ onResume()(活躍狀態) → onPause()&#x…

暴力解決MySQL連接失敗

本文涉及清空root密碼完全重置MySQL權限徹底卸載并重裝MySQL請務必在測試/本地環境操作,生產環境慎用!場景Spring Boot項目連接MySQL一直報Access denied for user rootlocalhost,改密碼、換驅動都沒用?步驟1:完全重置…

前端開發:CSS(1)—— 什么是CSS?

本文用于記錄前端開發的學習過程。前面我們已經學習了html的編寫,知道了Web開發的一些最基本的知識;在html的學習過程中,我們提到關于樣式的設計和修改常需要使用CSS來實現。那么CSS到底是什么東西呢?它又如何來設計樣式呢&#x…

數據結構(4)—棧和隊列

一、概念1.棧只允許在棧頂位置入棧和出棧元素,鏈表可以在任意位置插入和刪除元素,棧和隊列只允許在指定位置插入和刪除元素2.鏈表、棧和隊列都是一種線性結構(一對一),棧和隊列是一種特殊的表狀結構二、棧1.基礎概念先…