java读properties文件,包含中文字符的主要有两种:

1.key中包含中文字符的(value中也有可能包含)

2.key中不包含中文字符的(value中有可能包含)

1、key中包含中文字符

可以使用java自带工具native2ascii.exe(Java\jdk1.x.x\bin\native2ascii.exe),转换文件编码格式

示例: native2ascii -encoding 8859_1 c:\a.properties c:\b.properties

即将 c:\a.properties文件内容用8859_1转码,另存为c:\b.properties文件。

命令格式: native2ascii -[options] [inputfile [outputfile]]

参数选项 options -reverse:将 Latin-1 或 Unicode 编码转为本地编码 -encoding encoding_name:指定转换时使用的编码 inputfile:要转换的文件 outputfile:转换后的文件
互转(-encoding,非英文内容(如中文)转为编码符 或 编码符之间的转换)
逆转(-reverse,通常是将编码符转为非英文内容,或非英文内容之间的转换)
逆转时被转的文件编码和本地编码需一致:
示例: 中文转为 ISO 8859_1 编码后,将 8859_1 码转为中文:
native2ascii -encoding 8859_1 c:\a.txt c:\b.txt,
将 a 用 8859_1 转码,存为 b (8859_1 码)
native2ascii -encoding GBK c:\b.txt c:\c.txt,

将 b 用 GBK 转码,存为 c (GBK 码)

native2ascii -reverse c:\c.txt c:\d.txt,
将 GBK 编码 c 用本地编码转码,存为 d (中文内容) 中文转为 GBK 编码后,将 GBK 码转为中文:

native2ascii -encoding GBK c:\a.txt c:\b.txt,
将 a 用 GBK 转码,存为 b (GBK 码)

native2ascii -reverse c:\b.txt c:\c.txt,
将 GBK 编码 b 用本地编码转码,存为 c (中文内容)

做完上述操作后,读取key中含有中文的properties,需有下面的转换代码:

String value = "中国";
String value2 = new String(value.getBytes(),"ISO-8859-1");
System.out.println(p.getProperty(value2));

2.key中不包含中文字符的,value中有中文

直接使用1中的:

String value = p.getProperty(key);
String value2 = new String(value.getBytes("ISO-8859-1"),"GBK");

Java读properties文件中文乱码问题的解决方法的更多相关文章

  1. java读properties文件 乱码

    java读properties文件,包含中文字符的主要有两种: 1.key中包含中文字符的(value中也有可能包含) 2.key中不包含中文字符的(value中有可能包含) 1.key中包含中文字符 ...

  2. Eclipse的properties文件中文乱码解决方法

    转自:http://jingyan.baidu.com/article/ed2a5d1f3381d709f6be17f8.html 打开Myeclipse,找到window这一栏,点击Preferen ...

  3. Eclipse 创建文件快捷菜单、避免格式化时自动换行、.properties文件中文乱码、在线安装FreeMarker

    创建文件快捷菜单设置 打开窗口“Customize Perspective - Java EE”,切换选项卡到“Shortcuts”: 进行一下配置: “Generate”:如上图勾选方式 " ...

  4. jquery.ajax的url中传递中文乱码问题的解决方法

    jquery.ajax的url中传递中文乱码问题的解决方法   JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...

  5. windows下mysql中文乱码, 配置解决方法

    内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...

  6. 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)

    从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了,但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(UT ...

  7. Java使用ResourceBundle类读取properties文件中文乱码的解决方案

    Java使用java.util.ResourceBundle类的方式来读取properties文件时不支持中文,要想支持中文必须将文件设置为ISO-8859-1编码格式,这对于开发工具默认为UTF-8 ...

  8. 解决Eclipse中.properties文件中文乱码问题

    在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默 ...

  9. 转:解决Eclipse中.properties文件中文乱码问题

    在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默 ...

随机推荐

  1. 如何使用change命令改变密码的属性

    使用chage更改用户密码密码使用情况 -d //设置最近一次更改密码时间, 0下次登陆系统强制修改密码 -m //设置用户两次改变密码之间使用"最小天数" -M //设置用户两次 ...

  2. python编程之禅

    在python界面输入 import this >>> import this The Zen of Python, by Tim Peters Beautiful is bette ...

  3. sql server 定期自动清理日志

    https://blog.csdn.net/dqs78833488/article/details/51372491

  4. ELK配置过程初次安装使用心得--elasticsearch5.4版--及logstash

    安装所遇到的问题:http://www.bubuko.com/infodetail-1889252.html 一,先创建用户和组groupadd es useradd -g es es passwd  ...

  5. JAVA Spring JavaBean 引入 JavaBean ( 外部引用, 内部定义, 级联属性 )

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. SRC是在本位置显示:source的缩写,源的意思 HREF是点击后连接的目标:HyperlinkReference,超链接引用

    SRC是在本位置显示:source的缩写,源的意思HREF是点击后连接的目标:HyperlinkReference,超链接引用

  7. Spring Cloud Hystrix java.lang.NoClassDefFoundError: org/aspectj/lang/JoinPoint 问题

    环境:spring  boot:  1.3.7  spring  cloud : Brixton.SR5 <parent> <groupId>org.springframewo ...

  8. VULKAN学习笔记-inter教学四篇

    --交换链相关函数:实例层vkCreateWin32SurfaceKHRvkDestroySurfaceKHRvkGetPhysicalDeviceSurfaceSurportKHRvkGetPhys ...

  9. Scala语言学习笔记(2)

    表达式,值,变量,代码块,函数,方法 // 表达式 1 + 1 println(1 + 1) // 2 // 值(values)使用 val 关键字声明,带初值时类型可省略. val x = 1 + ...

  10. hive 显示分区

    显示某一张表的分区值 show partitions table_name;