关于Java中properties文件编码问题

目录
  • Java properties文件编码问题
    • 问题一:Transparent native-to-ascii conversion是什么
  • Java中属性文件(*.properties)转码为UTF-8
    • 将中文转码为UTF8命令格式

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

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

(0)

相关推荐

  • spring boot使用i18n时properties文件中文乱码问题的解决方法

    国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素.换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产.开发这样的程序的过程,就称为国际化. 在springboot使用i18n进行国际化文件配置时,文件名为messages_zh_CN.properties的文件中填写中文信息,当使用浏览器进行访问时,出现中文乱码,此时在idea中进行修改setting

  • IntelliJ IDEA中properties文件显示乱码问题的解决办法

    首先,你可能会见到如下提示: File encoding is disabled because .properties file (see Settings|Editor|File Encodings|Properties Files) 具体如下图.没截全图,太大了,只截取了提示部分. 在这之前,我一直以为,我已经设置了我这个编辑器下的所有文件的编码格式都是utf-8,直到我这次要读取properties文件的时候,才惊讶的发现,我的properties文件并不都是utf-8的文件编码格式.然

  • 详解Intellij IDEA中.properties文件中文显示乱码问题的解决

    首先,你可能会见到如下提示: File encoding is disabled because .properties file (see Settings|Editor|File Encodings|Properties Files) 具体如下图.没截全图,太大了,只截取了提示部分. 在这之前,我一直以为,我已经设置了我这个编辑器下的所有文件的编码格式都是utf-8,直到我这次要读取properties文件的时候,才惊讶的发现,我的properties文件并不都是utf-8的文件编码格式.然

  • Java读取properties配置文件时,出现中文乱码的解决方法

    如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr

  • 解决Java中properties文件编码问题

    目录 1.properties文件显示乱码问题 2.读取properties文件乱码 3.Spring boot的@ConfigurationProperties读取properties文件乱码 总结 1.properties文件显示乱码问题 原因是因为properties默认使用ASCII码,就算在文件中填写了中文,再打开后依然会转换成ASCII码的形式.首先确定properties配置文件的编码格式,通常情况下properties的默认编码格式为ISO-8859-1.更改properties

  • 关于Java中properties文件编码问题

    目录 Java properties文件编码问题 问题一:Transparent native-to-ascii conversion是什么 Java中属性文件(*.properties)转码为UTF-8 将中文转码为UTF8命令格式 Java properties文件编码问题 问题一:Transparent native-to-ascii conversion是什么 在学习Spring boot的时候,通过 @ConfigurationProperties 注解来获取配置信息时,中文乱码,老师

  • java中Properties文件加载和使用方法

    一.Properties简介 Properties 类继承自HashTable,提供的方法很像Map的实现类HashMap.它在 Java 编程的早期就有了,并且几乎没有什么变化.J2SE 的 Tiger 版本增强了这个类,不仅可以用它在单独一行中指定用等号分隔的多个键-值对(其中键和值是用等号分隔的),还可以用XML 文件装载和保存这些键-值对. 二.Properties 的加载和简单的使用 1.路径存放 2.信息配置 name = Lily age = 22 3.简单的加载和使用 packa

  • Java中Properties 类的详细使用

    我把你的头像,设置成我的名字,此刻你便与我同在. 我把你的名字,写进我的代码里面,以后,我的世界便存在着你. 一.Properties 类 Properties 类位于 java.util.Properties ,是Java 语言的配置文件所使用的类, Xxx.properties 为Java 语言常见的配置文件,如数据库的配置 jdbc.properties, 系统参数配置 system.properties. 这里,讲解一下Properties 类的具体使用. 以key=value 的 键值

  • 浅谈Java中Properties类的详细使用

    目录 一.Properties 类 二.打印JVM参数 三.打印自定义.properties文件中的值 3.1.list输出到控制台用绝对路径加载 3.2.propertyNames输出getClass()加载 3.3.stringPropertyNames输出getClassLoader加载(推荐) 四.获取值getProperties 五.写入到Properties文件 5.1.普通写入,中文时乱码 5.2.解决乱码写入的问题 六.加载和导出到xml配置文件 6.1.导出到.xml配置文件s

  • 浅谈Java中Unicode的编码和实现

    Unicode的编码和实现 大概来说,Unicode编码系统可分为编码方式和实现方式两个层次. 编码方式 字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值."A"是一个字符,"€"也是一个字符.字符集是字符的集合.编码字符集是一个字符集,它为每一个字符分配一个唯一数字. Unicode 最初设计是作为一种固定宽度的 16 位字符编码.也就是每个字符占用2个字节.这样理论上一共最多可以表示216(即65536)个字符.上述16位统一码字符构成基

  • Java 对 Properties 文件的操作详解及简单实例

    Java 对 Properties 文件的操作 简介 在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下: name=shawearn Properties 类是 java.util.Hashtable<Object, Object> 的子类,用于键和值之间的映射. 在对 Properties 格式

  • Java读取Properties文件的七种方法的总结

    Java读取Properties文件的方法总结 读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法: 其实很多都是大同小异,概括起来就2种: 先构造出一个InputStream来,然后调用Properties#load() 利用ResourceBundle,这个主要在做国际化的时候用的比较多. 例如:它能根据系统语言环境自动读取下面三个properties文件中的一个: resource_en_US.properties resource_zh_CN.prop

  • Java中实现文件上传下载的三种解决方案(推荐)

    java文件上传与文件下载是程序开发中比较常见的功能,下面通过本文给大家介绍Java中实现文件上传下载的三种解决方案,具体详情如下所示: 第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null; String fileAddre="/numUp"; try { InputStream stream = file.getInputStream(

  • java读取properties文件的方法实例分析

    本文实例讲述了java读取properties文件的方法.分享给大家供大家参考.具体分析如下: 1.不在项目中读取: Properties properties = new Properties(); BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream("文件的路径"),"utf-8")); properties.load(read); properti

随机推荐