关于Java中properties文件编码问题

 更新时间:2021年11月08日 14:19:25   作者:SenKnight  
这篇文章主要介绍了关于Java中properties文件编码问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java properties文件编码问题

问题一:Transparent native-to-ascii conversion是什么

在学习Spring boot的时候,通过 @ConfigurationProperties 注解来获取配置信息时,中文乱码,老师说需要在设置中设置properties文件编码格式为UTF-8而且在IDEA中需要勾选 Transparent native-to-ascii conversion

在这里插入图片描述

虽然确实解决了中文乱码的问题,但是很奇怪为什么要勾选这个Transparent native-to-ascii conversion,这个东西的作用是什么呢?

查找资料后发现就是在运行的时候将文件转换成Unicode编码。什么意思呢,也就是在文件展示是UTF-8编码,但是实际运行的时候把内容转换成了Unicode编码:

在这里插入图片描述

图一

在这里插入图片描述

图二

图一是IDEA中填写的内容,图二是通过Editplus打开文件时显示的内容,很明显可以看到IDEA自动转换了文件编码格式,这个就是Transparent native-to-ascii conversion的作用。

Java中属性文件(*.properties)转码为UTF-8

命令..\jdk1.5.0_06\bin\native2ascii.exe是JDK自带的转码工具

将中文转码为UTF8命令格式

native2ascii -encoding gb2312 before.properties after.properties 

将转码后的字符转换回中文命令格式:

native2ascii -reverse  after.properties before.properties

before.properties文件中是转码前的中文, after.properties就是转码后的utf-8格式。

实例:

before.properties的内容:

你好世界

after.properties的内容:

\u4f60\u597d\u4e16\u754c

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java详细分析连接数据库的流程

    Java详细分析连接数据库的流程

    Java数据库连接,JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的
    2022-05-05
  • 详解Java中Math.round()的取整规则

    详解Java中Math.round()的取整规则

    这篇文章主要介绍了详解Java中Math.round()的取整规则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • java 字浮串提取方法汇集

    java 字浮串提取方法汇集

    用方法toCharArray public char[] toCharArray()
    2008-10-10
  • Java对象的内存布局全流程

    Java对象的内存布局全流程

    这篇文章主要介绍了Java对象的内存布局全流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Spring Boot 多数据源处理事务的思路详解

    Spring Boot 多数据源处理事务的思路详解

    这篇文章主要介绍了Spring Boot 多数据源如何处理事务,本文单纯就是技术探讨,要从实际应用中来说的话,我并不建议这样去玩分布式事务、也不建议这样去玩多数据源,毕竟分布式事务主要还是用在微服务场景下,对Spring Boot 多数据源事务相关知识感兴趣的朋友参考下本文
    2022-06-06
  • Java多线程之定时器Timer的实现

    Java多线程之定时器Timer的实现

    这篇文章主要为大家详细介绍了Java多线程中定时器Timer类的使用以及模拟实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Java设计模式之原型设计示例详解

    Java设计模式之原型设计示例详解

    这篇文章主要为大家详细介绍了Java的原型设计模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • SkyWalking自定义链路追踪实现步骤

    SkyWalking自定义链路追踪实现步骤

    本文详细介绍了如何使用SkyWalking进行自定义链路追踪的步骤,包括POM文件依赖和逻辑业务代码的编写,文章最后推荐了脚本之家作为进一步学习的资源
    2024-02-02
  • Java中的Kafka为什么性能这么快及4大核心详析

    Java中的Kafka为什么性能这么快及4大核心详析

    这篇文章主要介绍了Java中的Kafka为什么性能这么快及4大核心详析,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • IDEA如何将Java项目打包成可执行的Jar包

    IDEA如何将Java项目打包成可执行的Jar包

    在Java开发中,我们通常会将我们的项目打包成可执行的Jar包,以便于在其他环境中部署和运行,本文将介绍如何使用IDEA集成开发环境将Java项目打包成可执行的Jar包,感兴趣的朋友一起看看吧
    2023-07-07

最新评论