首先知道乱码的原因,properties文件的默认编码是iso8859-1,所以我们往里面存中文,但是取出来的时候一般不是用ISO8859-1取的,所以乱码,那么只要编码和解码一致就不会乱码了。
1、直接在Java文件中修改
1 | InputStream in=this.getServletContext().getResourceAsStream("/proper2.properties"); |
但是可以看到这样虽然有效,却比较耗费时间和资源,那么可以使用方法2
2、直接修改properties的编码
在myeclipse下打开 window->Perferences->General->ContentTypes 然后将编码从默认的iso8859-1改为utf-8即可
如果这样还没有用的话,还有一招,那就是在编辑properties文件的时候使用myeclipse自带的propertieseditor打开(默认就是这个),打开后选择左下角的properties,直接在编辑器里编辑就好
如下图
然后我们点左下角的source 可以看到如下:
此时的 哈哈 已经被转换过了,这也就是为什么我们改properties的编码改完后无效的原因,虽然你改了编码,但是你直接在source里面编辑输入中文的话,中文是存不进去的。
这样昨晚后就能输出中文了。
1 | response.setContentType("text/html;charset=utf-8"); |