网站开发的几个主要阶段,wordpress标题插件,自己网站上做淘宝搜索引擎,学院网站建设的特色目录 1 前言#xff1a;
2 本地环境中的解决方案#xff08;以idea为例#xff09;
3 全部解决方案 1 前言#xff1a;
初用properties,读取java properties文件的时候如果value是中文#xff0c;会出现乱码的问题。我们首先需要明了乱码问题的根源。在 Java 中#x…目录 1 前言
2 本地环境中的解决方案以idea为例
3 全部解决方案 1 前言
初用properties,读取java properties文件的时候如果value是中文会出现乱码的问题。我们首先需要明了乱码问题的根源。在 Java 中字符通常以 Unicode 编码表示而 Properties 类默认采用 ISO-8859-1 编码来处理字符。因此当我们在 Properties 文件中存储中文字符时就可能导致乱码问题的出现。
2 本地环境中的解决方案以idea为例 将上述默认encoding设置为utf-8并勾选右侧复选框。即可实现application.properties中的中文值的读取仅限于本地环境。
3 全部解决方案
使用UTF-8编码将Properties文件的编码格式设置为UTF-8可以避免中文乱码问题。可以通过在读取和写入Properties文件时指定字符编码为UTF-8来实现。例如 Properties properties new Properties();try (InputStream inputStream new FileInputStream(config.properties)) {properties.load(new InputStreamReader(inputStream, UTF-8));} catch (IOException e) {e.printStackTrace();try (OutputStream outputStream new FileOutputStream(config.properties)) {properties.store(new OutputStreamWriter(outputStream, UTF-8), null);} catch (IOException e) {e.printStackTrace(); 转换编码如果无法修改Properties文件的编码格式我们可以在读取和写入Properties文件时进行编码转换。例如将ISO-8859-1编码的字符串转换为UTF-8编码的字符串 String value properties.getProperty(key);String utf8Value new String(value.getBytes(ISO-8859-1), UTF-8); 在写入Properties文件时也需要进行相应的编码转换 String utf8Value 中文;String isoValue new String(utf8Value.getBytes(UTF-8), ISO-8859-1);properties.setProperty(key, isoValue); 使用Unicode转义序列如果以上方法都无法解决问题(目前本人遇到的就是这种情况)我们可以使用Unicode转义序列来表示中文字符。在配置文件文件中将需要配置的中文换成unicode编码。使用value注解读取时会自动转码。 # 需要过滤的区域名称字段
#filter.region.name检测机构,检测站,检车站,检车,服务机构,查验机构,安检,服务站,查验区,车管所,报废库,监测,检测
filter.region.name\u68c0\u6d4b\u673a\u6784,\u68c0\u6d4b\u7ad9,\u68c0\u8f66\u7ad9,\u68c0\u8f66,\u670d\u52a1\u673a\u6784,\u67e5\u9a8c\u673a\u6784,\u5b89\u68c0,\u670d\u52a1\u7ad9,\u67e5\u9a8c\u533a,\u8f66\u7ba1\u6240,\u62a5\u5e9f\u5e93,\u76d1\u6d4b,\u68c0\u6d4b
# 需要过滤的点位名称字段
#filter.camera.name查验,检验
filter.camera.name\u67e5\u9a8c,\u68c0\u9a8c