java使用Properties读取中文资源出现乱码

因为Properties类默认使用ISO8859-1对资源进行编码(它是不管配置文件的编码格式的),而java程序中的中文资源需要用UTF-8进行编码,然后才能识别出来。所以需要进行编码转换。

String pro = properties.getProperty("a");//pro是ISO8859-1编码

pro = new String(pro.getBytes("ISO8859-1"), "UTF-8") //pro是UTF-8编码

参考:http://wangfc123.blog.163.com/blog/static/157468012010324101137219/

时间: 2024-10-05 04:53:43

java使用Properties读取中文资源出现乱码的相关文章

[JAVA开发]Properties读取中文乱码解决方法

1 确认工程的统一编码. 例如UTF-8 , project->properties->text file encoding 选择  UTF-8 2 JSP统一编码. 打开JSP文件: 以下都是要关注的地方. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> response.setCharacter

tomcat读取中文资源时报错404

修改tomcat安装目录中server.xml,增加URIEncoding="UTF-8"的配置 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> tomcat读取中文资源时报错404

java的url有中文参数导致乱码

话不多说,直接粘代码 发送方 UrlParaCode.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <html> <head> <title>My JSP 'UrlParaCode.jsp' starting page</title> </head> <body> &l

java.util.Properties 读取配置文件中的参数

用法 getProperty方法的返回值是String类型. java.util.Properties 读取配置文件中的参数 //读取配置文件 FileInputStream inStream = null; try { inStream = new FileInputStream("/fetchedfile/redis.conf"); Properties prop = new Properties(); prop.load(inStream); Field field; Strin

Java读properties文件中文乱码问题的解决方法

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.p

java util工具读取国际化资源文件

Locale ResourceBundle Locale读取资源文件 package yycg.util; import java.io.Serializable; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.ResourceBundle;

Torch-RNN运行过程中的坑 [2](Lua的string sub函数,读取中文失败,乱码?)

0.踩坑背景 仍然是torch-rnn/LanguageModel.lua文件中的一些问题,仍然是这个狗血的LM:encode_string函数: function LM:encode_string(s) local encoded = torch.LongTensor(#s) for i = 1, #s do local token = s:sub(i, i) local idx = self.token_to_idx[token] assert(idx ~= nil, 'Got invali

C#中StreamReader读取中文时出现乱码问题总结

之前有一篇文章" C#读取及写入配置文件教程"(http://blog.csdn.net/lisenyang/article/details/47291083)当中有一个问题就是在读取配置文件时候中文出现乱码情况.这是为什么呢?原因是自Windows 2000之后的操作系统在文件处理时默认编码採用Unicode.所以.NET文件的默认编码也是Unicode.除非另外指定,StreamReader的默认编码为Unicode,而不是当前系统的ANSI代码页.可是文档大部分还是以ANSI编码

java 通过 Properties 读取数据库配置 .properties 文件的使用。

system.properties user=root password=root jdbcUrl=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8; driverClass=com.mysql.jdbc.Driver 调用方法: public void getProperties(){ Properties prop = new Properties(); try { prop.load(new B