From: "jiayp@... (贾 延平)" Date: 2013-07-24T23:17:46+09:00 Subject: [ruby-core:56157] [ruby-trunk - Bug #8677] $LOAD_PATH did not encoded into the "internal encoding" Issue #8677 has been updated by jiayp@glodon.com (��� ������). jonforums (Jon Forums) wrote: > > > What happens when you `chcp 65001` in cmd.exe but do not encode `$LOAD_PATH` to utf-8? > > require do work with my patch for bug https://bugs.ruby-lang.org/issues/8676���and the $LOAD_PATH's encoding is UTF-8. > > OK. But do either of these also fix this failure? > 1) `chcp 65001` in cmd.exe, or > 2) use powershell > > I'm curious whether those quick non-ruby changes also work; simple workarounds that don't require your patch + $LOAD_PATH encoding tweak. chcp 65001 can make the $LOAD_PATH encoding to UTF-8,and use powershell need chcp too. The patch I mentioned in the other issue is to fix the require path with UTF-8 encoding and NON-ASCII name,and without this patch the $LOAD_PATH is UTF-8 encoding and the required file is UTF-8 encoding too,But can not load file. ---------------------------------------- Bug #8677: $LOAD_PATH did not encoded into the "internal encoding" https://bugs.ruby-lang.org/issues/8677#change-40652 Author: jiayp@glodon.com (��� ������) Status: Open Priority: Normal Assignee: Category: core Target version: ruby -v: ruby 2.0.0p277 (2013-07-23 revision 42121) [i386-mingw32] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin When I use utf-8 as the internal encoding, and I require some file with Chinese name,and the require failure with: (({E:/code/rubyinstaller-master/sandbox/ruby19_mingw/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require': incompatible character encodings: UTF-8 and GBK (Encoding::CompatibilityError)})) I encode the $LOAD_PATH to utf-8 encoding And the problem gone. So I think we should encoding the $LOAD_PATH into the internal encoding. Is it right? If so,I will try to create a patch.I not,please tell me the right way. thanks a lot =end -- http://bugs.ruby-lang.org/