From afd184edd64c7117b680d34cc119055f13ff7c1d Mon Sep 17 00:00:00 2001 From: licheng Date: Fri, 13 May 2016 09:43:36 +0800 Subject: [PATCH] =?UTF-8?q?db=E4=B8=AD=E5=8F=96=E5=87=BA=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=BB=8Eunicode=E8=BD=AC=E5=9B=9Eutf8=E5=86=8D?= =?UTF-8?q?=E8=BF=94=E5=9B=9Eclient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/config/service/impl/ConfigFetchMgrImpl.java | 6 +++++- .../web/service/config/service/impl/ConfigMgrImpl.java | 4 ++-- .../main/java/com/baidu/disconf/web/utils/CodeUtils.java | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java index 8d6ba8a3d..38af2be3f 100644 --- a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java +++ b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java @@ -1,5 +1,6 @@ package com.baidu.disconf.web.service.config.service.impl; +import com.baidu.disconf.web.utils.CodeUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +33,9 @@ public Config getConfByParameter(Long appId, Long envId, String env, String key, DisConfigTypeEnum disConfigTypeEnum) { Config config = configDao.getByParameter(appId, envId, env, key, disConfigTypeEnum); + if (config != null) { + config.setValue(CodeUtils.unicodeToUtf8(config.getValue())); + } return config; } @@ -44,7 +48,7 @@ public ValueVo getConfItemByParameter(Long appId, Long envId, String version, St if (config == null) { return ConfigUtils.getErrorVo("cannot find this config"); } - + config.setValue(CodeUtils.unicodeToUtf8(config.getValue())); ValueVo valueVo = new ValueVo(); valueVo.setValue(config.getValue()); valueVo.setStatus(Constants.OK); diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java index 86a58bd04..4958b3111 100644 --- a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java +++ b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java @@ -127,7 +127,7 @@ public List getDisconfFileList(ConfListForm confListForm) { File file = new File(curTime, config.getName()); try { - FileUtils.writeByteArrayToFile(file, config.getValue().getBytes()); + FileUtils.writeByteArrayToFile(file, CodeUtils.unicodeToUtf8(config.getValue()).getBytes()); } catch (IOException e) { LOG.warn(e.toString()); } @@ -496,7 +496,7 @@ public void notifyZookeeper(Long configId) { */ @Override public String getValue(Long configId) { - return configDao.getValue(configId); + return CodeUtils.unicodeToUtf8(configDao.getValue(configId)); } /** diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/utils/CodeUtils.java b/disconf-web/src/main/java/com/baidu/disconf/web/utils/CodeUtils.java index 86f4cd77d..3bb17d9ef 100644 --- a/disconf-web/src/main/java/com/baidu/disconf/web/utils/CodeUtils.java +++ b/disconf-web/src/main/java/com/baidu/disconf/web/utils/CodeUtils.java @@ -54,6 +54,8 @@ public static String utf8ToUnicode(String inStr) { * 2007-3-15 */ public static String unicodeToUtf8(String theString) { + if (theString == null) + return null; char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len);