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. Mybatis 为什么不要用二级缓存

    https://www.cnblogs.com/liouwei4083/p/6025929.html mybatis 二级缓存不推荐使用 一 mybatis的缓存使用. 大体就是首先根据你的sqlid ...

  2. servletConfig的使用案例

    servletConfig参数的使用案例 首先,建立Dynamic Web Project ,同样命名FirstServlet,然后建立Servlet:Login.java,包名为cc.openhom ...

  3. oracle使用随笔

    一,centos 7安装桌面环境 首先使用命令yum grouplist查看可以使用的group ,第一步,命令安装Gnome Desktop,第二步,yum groupinstall "X ...

  4. CENTOS系统安装及初始化配置相关

    一,配置网卡: 1,设置网卡ip地址:vi   /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0TYPE=EthernetONBOOT=yes ...

  5. spring 注解 @NotBlank and BingResult

    @NotEmpty用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上 在 user对象中需要

  6. react部署之页面空白

    react部署之页面空白 问题:create-react-app build打包后,页面出现空白. 可能一: 控制台报错,js等文件找不到(404) 文件路径问题,只需修改package.json文件 ...

  7. nginx 域名绑定

    单个域名 upstream web{ server ;//这里绑定你要访问的服务器地址 keepalive ; } server { listen ; server_name www.xxxx.con ...

  8. 使用示例带你提前了解 Java 9 中的新特性

    使用示例带你提前了解 Java 9 中的新特性 转载来源:https://juejin.im/post/58c5e402128fe100603cc194 英文出处:https://www.journa ...

  9. PostgreSql别名区分大小写的问题

    PostgreSql是区分大小写的,如果别名的大小不一致就会提示错误: SELECT * FROM ( SELECT cpi."product_item_id" "PRO ...

  10. 进入一个docker容器

    Starting from Docker 1.3 you can use Docker exec to enter a Docker container : docker exec -it CONTA ...