class Win32::Registry

Public Instance Methods

export_string(str, enc = Encoding.default_internal || "utf-8") click to toggle source

::Win32::Registry#export_string is used when enumerating child keys and values and re encodes a UTF-16LE to the local codepage. This can result in encoding incompatibilities if the native codepage does not support the characters in the registry. There is an open bug in ruby at bugs.ruby-lang.org/issues/11410. Rather than converting the UTF-16LE originally returned by the win32 api, we encode to UTF-8 which will likely not result in any conversion error.

# File lib/chef/monkey_patches/win32/registry.rb, line 32
def export_string(str, enc = Encoding.default_internal || "utf-8")
  str.encode(enc)
end