From 7ae1ce6c02fcce4c272b6ed76e16019ce244fe21 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 14 Jul 2022 17:43:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=20oracle=20=E6=95=B0=E6=8D=AE=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/service/dataset/ExtractDataService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index e9cd7ae4ad..c5447b6525 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -1196,7 +1196,8 @@ public class ExtractDataService { targetCharset = jdbcConfiguration.getTargetCharset(); } if (StringUtils.isNotEmpty(charset)) { - tmp_code = tmp_code.replace("handleCharset", handleCharset.replace("Datasource_Charset", charset).replace("Target_Charset", targetCharset)); + String varcharFields = datasetTableFields.stream().filter(datasetTableField -> datasetTableField.getDeExtractType() == 0).map(DatasetTableField::getOriginName).collect(Collectors.joining(",")); + tmp_code = tmp_code.replace("handleCharset", handleCharset.replace("Datasource_Charset", charset).replace("Target_Charset", targetCharset).replace("varcharFields", varcharFields)); }else { tmp_code = tmp_code.replace("handleCharset", ""); } @@ -1313,7 +1314,7 @@ public class ExtractDataService { " get(Fields.Out, filed).setValue(r, tmp);\n" + " } \n"; - private final static String handleCharset = "\tif(tmp != null){\n" + + private final static String handleCharset = "\tif(tmp != null && Arrays.asList(\"varcharFields\".split(\",\")).contains(filed)){\n" + " \t\t\ttry {\n" + "\t\t\t\tget(Fields.Out, filed).setValue(r, new String(tmp.getBytes(\"Datasource_Charset\"), \"Target_Charset\"));\n" + " \t\t}catch (Exception e){}\n" +