From 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9 Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Mon, 7 Dec 2020 17:48:37 +0100 Subject: Set default for Encoding.default_external to UTF-8 on Windows (#2877) * Use UTF-8 as default for Encoding.default_external on Windows * Document UTF-8 change on Windows to Encoding.default_external fix https://bugs.ruby-lang.org/issues/16604 --- ruby.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'ruby.c') diff --git a/ruby.c b/ruby.c index 2ddea6b430..c01d78ef7e 100644 --- a/ruby.c +++ b/ruby.c @@ -1819,6 +1819,9 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) Init_ruby_description(); Init_enc(); lenc = rb_locale_encoding(); +#if UTF8_PATH + uenc = rb_utf8_encoding(); +#endif rb_enc_associate(rb_progname, lenc); rb_obj_freeze(rb_progname); parser = rb_parser_new(); @@ -1839,7 +1842,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) enc = rb_enc_from_index(opt->ext.enc.index); } else { - enc = lenc; + enc = IF_UTF8_PATH(uenc, lenc); } rb_enc_set_default_external(rb_enc_from_encoding(enc)); if (opt->intern.enc.index >= 0) { @@ -1944,7 +1947,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) enc = rb_enc_from_index(opt->ext.enc.index); } else { - enc = lenc; + enc = IF_UTF8_PATH(uenc, lenc); } rb_enc_set_default_external(rb_enc_from_encoding(enc)); if (opt->intern.enc.index >= 0) { -- cgit v1.2.3