您的位置:首页 > 运维架构

解决properties文件乱码问题

2015-09-17 20:50 866 查看

解决properties文件乱码问题

首先知道乱码的原因,properties文件的默认编码是iso8859-1,所以我们往里面存中文,但是取出来的时候一般不是用ISO8859-1取的,所以乱码,那么只要编码和解码一致就不会乱码了

1、直接在Java文件中修改

InputStream in=this.getServletContext().getResourceAsStream("/proper2.properties");
Properties pro=new Properties();
pro.load(in);
String name=pro.getProperty("name");
response.getWriter().write(new String(name.getBytes("iso8859-1"),"utf-8"));


但是可以看到这样虽然有效,却比较耗费时间和资源,那么可以使用方法2

2、直接修改properties的编码

在myeclipse下打开 window->Perferences->General->ContentTypes 然后将编码从默认的iso8859-1改为utf-8即可

如果这样还没有用的话,还有一招,那就是在编辑properties文件的时候使用myeclipse自带的propertieseditor打开(默认就是这个),打开后选择左下角的properties,直接在编辑器里编辑就好

如下图



然后我们点左下角的source 可以看到如下:



此时的 哈哈 已经被转换过了,这也就是为什么我们改properties的编码改完后无效的原因,虽然你改了编码,但是你直接在source里面编辑输入中文的话,中文是存不进去的。

这样昨晚后就能输出中文了。

response.setContentType("text/html;charset=utf-8");
InputStream in=this.getServletContext().getResourceAsStream("/proper2.properties");
Properties pro=new Properties();
pro.load(in);
String name=pro.getProperty("name");
response.getWriter().write(name);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 乱码 编码