Issue #13488 has been updated by nobu (Nobuyoshi Nakada).


naruse (Yui NARUSE) wrote:
> If you want to change them, you should just change ruby as if it runs on `chcp 65001`:

In the trunk, you don't have to change ruby source code.
Just configure with `--enable-debug-env`, and include `codepage=65001` in the environment variable `RUBY_DEBUG`.

```
C:\Users\nobu\work\ruby\trunk\x64-mswin32_140>.\bin\ruby -e "p Encoding.default_external, Encoding.find('filesystem')"
#<Encoding:Windows-31J>
#<Encoding:Windows-31J>

C:\Users\nobu\work\ruby\trunk\x64-mswin32_140>set RUBY_DEBUG=codepage=65001

C:\Users\nobu\work\ruby\trunk\x64-mswin32_140>.\bin\ruby -e "p Encoding.default_external, Encoding.find('filesystem')"
#<Encoding:UTF-8>
#<Encoding:UTF-8>
```

----------------------------------------
Feature #13488: Set Encoding.default_external to UTF-8 on Windows
https://bugs.ruby-lang.org/issues/13488#change-64624

* Author: larskanis (Lars Kanis)
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Currently Encoding.default_external is set to the local ANSI encoding of the Windows installation unless changed per option `-E`. This is cp850 for Western Europe. It should be changed to UTF-8.

The current setting is a major interoperability issue and it is neither useful nor expected, because nobody seriously uses the ancient locale dependent cpXYZ encodings for file content.

If a native encoding shall be used, it should be UTF-16 on Windows. However UTF-16 would make interoperability and compatibility even more difficult. So the only reliable choice for default_external is UTF-8, IMHO.

This is already patched per [1] in the upcoming RubyInstaller-2.4 for Windows release. It additionally requires a few changes to MRIs encoding tests.


[1] https://github.com/oneclick/rubyinstaller2/blob/master/recipes/compile/ruby-2.4.1/0005-utf-8-default-encoding.patch




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>