From 86895eb5ef8ce4a2e2302ef0a911628c2726bf3b Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sun, 15 Jul 2018 20:10:09 +0800 Subject: [PATCH] --- src/org/redkale/source/DataSources.java | 2 ++ src/org/redkale/source/PoolSource.java | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/org/redkale/source/DataSources.java b/src/org/redkale/source/DataSources.java index bb9bd4ef4..7f0d485b0 100644 --- a/src/org/redkale/source/DataSources.java +++ b/src/org/redkale/source/DataSources.java @@ -47,6 +47,8 @@ public final class DataSources { public static final String JDBC_PWD = "javax.persistence.jdbc.password"; + public static final String JDBC_ENCODING = "javax.persistence.jdbc.encoding"; + public static final String JDBC_DRIVER = "javax.persistence.jdbc.driver"; public static final String JDBC_SOURCE = "javax.persistence.jdbc.source"; diff --git a/src/org/redkale/source/PoolSource.java b/src/org/redkale/source/PoolSource.java index 5ee58c439..29a7e65c4 100644 --- a/src/org/redkale/source/PoolSource.java +++ b/src/org/redkale/source/PoolSource.java @@ -57,6 +57,8 @@ public abstract class PoolSource { protected String database; + protected String encoding; + protected Properties props; protected Properties attributes = new Properties(); @@ -69,6 +71,7 @@ public abstract class PoolSource { this.url = prop.getProperty(JDBC_URL); this.username = prop.getProperty(JDBC_USER, ""); this.password = prop.getProperty(JDBC_PWD, ""); + this.encoding = prop.getProperty(JDBC_ENCODING, ""); this.connectTimeoutSeconds = Integer.decode(prop.getProperty(JDBC_CONNECTTIMEOUT_SECONDS, "3")); this.readTimeoutSeconds = Integer.decode(prop.getProperty(JDBC_READTIMEOUT_SECONDS, "3")); this.writeTimeoutSeconds = Integer.decode(prop.getProperty(JDBC_WRITETIMEOUT_SECONDS, "3")); @@ -111,6 +114,8 @@ public abstract class PoolSource { if (!this.props.containsKey(JDBC_TABLENOTEXIST_SQLSTATES)) { this.props.setProperty(JDBC_TABLENOTEXIST_SQLSTATES, "42P01;3F000"); } + } else if ("mysql".equals(this.dbtype)) { + if (this.encoding.isEmpty()) this.encoding = attributes.getProperty("characterEncoding", ""); } }