碰到了用java.util.Properties读取中文内容(UTF-8格式)的配置文件,发生中文乱码的现象
Properties prop=new Properties(); prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties"));
由于使用这样的加载方式使用了系统默认的编码格式,不是UTF-8格式的读取模式,就会发生乱码情况。
正确解决方法
Properties prop=new Properties(); prop.load(new InputStreamReader(Client.class.getClassLoader().getResourceAsStream("config.properties"), "UTF-8"));
其中“UTF-8”,用于明确指定.properties文件的编码格式(不指定则默认使用OS的,这会造成同一份配置文件同一份代码,在linux和 windows上、英文windows和中文windows之间的表现都不一致),这个参数应该和具体读取的properties文件的格式匹配。