在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因
在中文操作系统中,Eclipse中的Java类型文件的编码的默认设置是GBK,但是对Properties资源文件的编码的默认设置是ISO-8859-1。所以编辑Java文件中的中文不会出现问题,但编辑Properties资源文件中的中文会出现问题。
解决乱码方法1:右击该properties文件–>properties–>Resource–>Text file encoding,选中other,选择其它编码方式,如UTF-8,这样就能在properties里面输入中文,而不会自动转成Unicode了。
另外,其实如果key value是中文,也不一定读不出来。比如如下的情况,打开文件流时选择了正确的编码方式,这样用properties的load的方法可以加载中文的。(但有的情况下你选择不了编码方式自然就有问题了)
BufferedReader br = null;Properties datas = new Properties();br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("data.properties")), "GBK"));datas.load(br);虽然上面这种方法解决了,但是以后想用每次都要设置,于是便想一次解决,省的以后也要设置。
解决乱码方法2直接修改Properties资源文件的默认编码,在Eclipse主界面下,打开Window->Perferences->General->ContentTypes: 找到Text类型下面的Java Properties File类型的文件,选中后下面会有 默认的字符编码,手动输入UTF-8,然后update,接着ok即可