java程序读取properties配置文件出现中文乱码

来源:互联网 发布:决战武林坐骑晋级数据 编辑:程序博客网 时间:2024/05/13 18:36
我编写了一个很简单的程序,读取配置文件(.properties)里的数据。主要代码部分如下:InputStream in = new FileInputStream("E:\\张兆祥_软件开发工具\\开发工具安装后的\\eclipse\\事例程序\\dbexamples\\bin\\chapter\\user.properties");   Properties property=new Properties();   property.load(in);   String username=property.getProperty("username");   String password=property.getProperty("password");   pstmt.setString(1,username);   pstmt.setString(2,password);   pstmt.executeUpdate();其中的pstmt.set...为插入数据库时的语句,但是当我改成向控制台输出的时候依然是乱码password是英文,所以没问题,就是那个username,因为是中文,输出为:???×?é不知道该怎么解决,求教哪个高手赐教!!

第一种办法:如楼上所说的那样也可以,就是native2ascii -reverse -encoding gb2312 user.properties ActionName_zh_CN.properties这样以后,你打开ActionName_zh_CN.properties的内容,再将ActionName_zh_CN.properties文件这样置:native2ascii ActionName_zh_CN.properties userChange.properties 然后你的程序读userChange.properties的内容就可以。第二种办法是:如你代码里写的,你可以在String username=property.getProperty("username");之后,添加JAVA代码页可以将乱码转为中文的。用如下语句就可以了,resultName=new String(username.getBytes("ISO-8859-1"),"gbk"); 然后再用resultName就可以了,不过这样的话你下面的String password=property.getProperty("password");都慢慢的通过上面的java代码去转。 不知道你对反射熟悉不?如果熟悉的话可以通过反射机制去做第二种办法的转码就方便多了!
0 0
原创粉丝点击