File tree Expand file tree Collapse file tree 3 files changed +22
-1
lines changed
lib/active_record/connection_adapters Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Original file line number Diff line number Diff line change
1
+ * Fix code typo in ` MysqlAdapter ` when ` Encoding.default_internal ` is set.
2
+
3
+ Fixes #12647 .
4
+
5
+ * Yves Senn*
6
+
1
7
* ActiveRecord::Base#attribute_for_inspect now truncates long arrays (more than 10 elements)
2
8
3
9
* Jan Bernacki*
Original file line number Diff line number Diff line change @@ -559,7 +559,7 @@ def version
559
559
def set_field_encoding field_name
560
560
field_name . force_encoding ( client_encoding )
561
561
if internal_enc = Encoding . default_internal
562
- field_name = field_name . encoding ( internal_enc )
562
+ field_name = field_name . encode! ( internal_enc )
563
563
end
564
564
field_name
565
565
end
Original file line number Diff line number Diff line change @@ -604,10 +604,25 @@ def test_readonly_attributes
604
604
end
605
605
606
606
def test_unicode_column_name
607
+ Weird . reset_column_information
607
608
weird = Weird . create ( :な まえ => 'たこ焼き仮面' )
608
609
assert_equal 'たこ焼き仮面' , weird . なまえ
609
610
end
610
611
612
+ def test_respect_internal_encoding
613
+ if current_adapter? ( :PostgreSQLAdapter )
614
+ skip 'pg does not respect internal encoding and always returns utf8'
615
+ end
616
+ old_default_internal = Encoding . default_internal
617
+ silence_warnings { Encoding . default_internal = "EUC-JP" }
618
+
619
+ Weird . reset_column_information
620
+
621
+ assert_equal [ "EUC-JP" ] , Weird . columns . map { |c | c . name . encoding . name } . uniq
622
+ ensure
623
+ silence_warnings { Encoding . default_internal = old_default_internal }
624
+ end
625
+
611
626
def test_non_valid_identifier_column_name
612
627
weird = Weird . create ( 'a$b' => 'value' )
613
628
weird . reload
You can’t perform that action at this time.
0 commit comments