关于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

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

相关文章

  • SpringBoot结合Redis配置工具类实现动态切换库

    SpringBoot结合Redis配置工具类实现动态切换库

    本文主要介绍了SpringBoot结合Redis配置工具类实现动态切换库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Spring Cloud Feign的文件上传实现的示例代码

    Spring Cloud Feign的文件上传实现的示例代码

    这篇文章主要介绍了Spring Cloud Feign的文件上传实现的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Jmeter3.0发布!版本更新到底更新了什么

    Jmeter3.0发布!版本更新到底更新了什么

    Jmeter3.0发布!版本更新到底更新了什么?这篇文章主要告诉大家Jmeter3.0版本更新了什么,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • spring boot集成loback日志配置的示例代码

    spring boot集成loback日志配置的示例代码

    这篇文章主要介绍了spring boot集成loback日志配置的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • java8 使用stream排序空字段排在前面或后面

    java8 使用stream排序空字段排在前面或后面

    这篇文章主要介绍了java8 使用stream排序空字段排在前面或后面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring声明式事务@Transactional知识点分享

    Spring声明式事务@Transactional知识点分享

    在本篇文章里小编给大家整理了关于Spring声明式事务@Transactional详解内容,需要的朋友们可以参考下。
    2020-02-02
  • RocketMQ Namesrv架构工作原理详解

    RocketMQ Namesrv架构工作原理详解

    这篇文章主要为大家介绍了RocketMQ Namesrv架构工作原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Mybatis实现分包定义数据库的原理与过程

    Mybatis实现分包定义数据库的原理与过程

    这篇文章主要给大家介绍了关于Mybatis实现分包定义数据库的原理与过程,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • SpringBoot接收请求参数的四种方式总结

    SpringBoot接收请求参数的四种方式总结

    这篇文章主要给大家介绍了关于SpringBoot接收请求参数的四种方式,文中通过代码以及图文介绍的非常详细,对大家学习或者使用SpringBoot具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 基于eclipse.ini内存设置的问题详解

    基于eclipse.ini内存设置的问题详解

    本篇文章是对eclipse.ini内存设置的问题进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论