Неправильная перекодировка из utft-8 в SHIFT_JISS с 齊藤 в рельсах 5 - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь перекодировать с utf-8 на shift-jiss, но у меня была эта ошибка ↓

-> rails c
Loading development environment (Rails 5.2.4)
[1] pry(main)> "齊藤".tosjis
=>  "\x{E9BD}\x{8AE8}\x{97A4}" 
[2] pry(main)> "齊藤".tosjis.encode('UTF-8')
=> "鮨願陸"

Но когда я меняю с tosjis на encode, все работает правильно ↓

[9] pry(main)> "齊藤".encode(Encoding::SJIS, invalid: :replace, undef: :replace)
=> "\x{EA8E}\x{93A1}"
[10] pry(main)> "齊藤".encode(Encoding::SJIS, invalid: :replace, undef: :replace).encode("UTF-8")
=> "齊藤"
[11] pry(main)> 

→ Но я не могу понять, что здесь произошло, в чем разница, пожалуйста, помогите мне объяснить это

Большое спасибо!

...