From: "davispuh (Dāvis Mosāns)" Date: 2013-09-24T05:42:38+09:00 Subject: [ruby-core:57339] [ruby-trunk - Bug #8943][Open] Invalid encoding for Windows Registry Issue #8943 has been reported by davispuh (D��vis Mos��ns). ---------------------------------------- Bug #8943: Invalid encoding for Windows Registry https://bugs.ruby-lang.org/issues/8943 Author: davispuh (D��vis Mos��ns) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p247 (2013-06-27) [x64-mingw32] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin It's not possible to correctly read non-ASCII registry values. It's also not possible to write them with correct encoding. to test import (()) then (()) Output on Ruby 2.0 (it's same for 1.9.3 except encoding is US-ASCII not UTF-8, but both are wrong) N:\Projects>ruby test3.rb UTF-8 ���??���?��� "\xE5??\xE4?\xE2" test (it hangs here) screenshot of registry after running it (()) seems that whoever wrote Ruby code to interact with WinAPI had no idea about encodings/code pages Windows uses as there's loads of issues and they've been for years. =end -- http://bugs.ruby-lang.org/