结果证明了这一点CP850.
正确的解决方案(Ruby 2.5+)
规范化unicode字符串,然后将其编码为CP850:
"bürger".unicode_normalize(:nfc).encode(Encoding::CP850)
#? "b\x81rger"
Run Code Online (Sandbox Code Playgroud)
适用于特殊字符和组合变音符号.
后备解决方案(Ruby 2.5-)
编码并祈祷它是一个复合的变形金刚:
"bürger".encode(Encoding::CP850)
#? "b\x81rger"
Run Code Online (Sandbox Code Playgroud)