From 804a15a105c69ae551f35ea4cc45820158ab818e Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 11 Feb 2020 16:46:05 +0800 Subject: [PATCH] fix charset bug --- CHANGELOG.md | 1 + .../main/java/cn/hutool/core/util/CharsetUtil.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40e837cb3..8e8ea0c0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ### 新特性 * 【core 】 废弃isMactchRegex,改为isMatchRegex(方法错别字) ### Bug修复 +* 【core 】 CharsetUtil在不支持GBK的系统中运行报错问题(issue#731@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/util/CharsetUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/CharsetUtil.java index 2a5e3b213..5d21c0b05 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/CharsetUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/CharsetUtil.java @@ -26,7 +26,18 @@ public class CharsetUtil { /** UTF-8 */ public static final Charset CHARSET_UTF_8 = StandardCharsets.UTF_8; /** GBK */ - public static final Charset CHARSET_GBK = Charset.forName(GBK); + public static final Charset CHARSET_GBK; + + static{ + //避免不支持GBK的系统中运行报错 issue#731 + Charset _CHARSET_GBK = null; + try{ + _CHARSET_GBK = Charset.forName(GBK); + } catch (UnsupportedCharsetException e){ + //ignore + } + CHARSET_GBK = _CHARSET_GBK; + } /** * 转换为Charset对象