Skip to content

Commit

Permalink
Addapt default encoding in SQL Server
Browse files Browse the repository at this point in the history
  • Loading branch information
kitsuyui committed Dec 9, 2017
1 parent 2e194cf commit 567bceb
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
4 changes: 3 additions & 1 deletion app/models/data_source_table.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ def initialize(data_source, schema_name, table_name)
def fetch_rows(limit=20)
data_source.access_logging do
adapter = connection.pool.connections.first
column_names = columns.map {|column| adapter.quote_column_name(column.name) }.join(", ")
decode_with = data_source.encoding or 'UTF-8'
encode_to = Encoding.default_internal or 'UTF-8'
column_names = columns.map {|column| adapter.quote_column_name(column.name.encode(encode_to, decode_with)) }.join(", ")
if data_source[:adapter] == 'sqlserver'
rows = connection.select_rows(<<-SQL, "#{table_name.classify} Load")
SELECT TOP #{limit} #{column_names} FROM #{adapter.quote_table_name(full_table_name)};
Expand Down
3 changes: 2 additions & 1 deletion app/models/table_memo_raw_dataset_column.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ def format_value(value)
when 'timestamp'
'0x' + value.unpack('H*')[0]
else
value.to_s.encode(Encoding.default_internal, datasource_encoding).gsub(/\u0000/, '')
dst_enc = Encoding.default_internal or 'UTF-8'
value.to_s.encode(dst_enc, datasource_encoding).gsub(/\u0000/, '')
end
else
case sql_type
Expand Down

0 comments on commit 567bceb

Please sign in to comment.