Skip to content

Commit 790463f

Browse files
committed
[mysql] allow encoding to be server-detected (using encoding: false)
due compatibility we still default to `encoding: utf8` if not set (fixes #481)
1 parent e7f8a07 commit 790463f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

lib/arjdbc/mysql/connection_methods.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ def mysql_connection(config)
2525
properties = ( config[:properties] ||= {} )
2626
properties['zeroDateTimeBehavior'] ||= 'convertToNull'
2727
properties['jdbcCompliantTruncation'] ||= 'false'
28-
properties['useUnicode'] ||= 'true'
29-
properties['characterEncoding'] = config[:encoding] || 'utf8'
28+
properties['useUnicode'] = 'true' unless properties.key?('useUnicode') # otherwise platform default
29+
encoding = config.key?(:encoding) ? config[:encoding] : 'utf8'
30+
properties['characterEncoding'] = encoding if encoding
3031

3132
jdbc_connection(config)
3233
end

test/simple.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1260,7 +1260,8 @@ module MultibyteTestMethods
12601260
def setup
12611261
super
12621262
config = ActiveRecord::Base.connection.config
1263-
jdbc_driver = ActiveRecord::ConnectionAdapters::JdbcDriver.new(config[:driver])
1263+
properties = config[:properties] || {}
1264+
jdbc_driver = ActiveRecord::ConnectionAdapters::JdbcDriver.new(config[:driver], properties)
12641265
@java_connection = jdbc_driver.connection(config[:url], config[:username], config[:password])
12651266
@java_connection.setAutoCommit(true)
12661267
end

0 commit comments

Comments
 (0)