[#104307] Float truncate — Eustáquio Rangel <eustaquiorangel@...>
Hi!
4 messages
2021/06/16
[ruby-core:104426] [Ruby master Bug#9245] Kernel::system gives wrong output for utf-8 characters on windows under utf-8 console
From:
merch-redmine@...
Date:
2021-06-28 17:49:46 UTC
List:
ruby-core #104426
Issue #9245 has been updated by jeremyevans0 (Jeremy Evans).
Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)
Status changed from Open to Closed
This appears to be fixed as of Ruby 2.1. I was able to recreate the issue =
in 2.0, but not in 2.1. I also tested the latest RubyInstaller-head, and th=
e problem is still fixed.
----------------------------------------
Bug #9245: Kernel::system gives wrong output for utf-8 characters on window=
s under utf-8 console
https://bugs.ruby-lang.org/issues/9245#change-92672
* Author: leifcr (Leif Ringstad)
* Status: Closed
* Priority: Normal
* Assignee: cruby-windows
* ruby -v: ruby 2.0.0p353 (2013-11-22) [i386-mingw32]
----------------------------------------
Under windows console running in utf-8 mode (chcp 65001), it is expected to=
print utf-8 encoded characters in a script from system calls correctly.
To reproduce, create a file in utf-8 format running this:
---
# test.rb
# encoding: UTF-8
system "echo abc=E6=F8=E5"
---
output:
Make sure to set utf-8 console on windows
> chcp 65001 =
> ruby test.rb
abc=C3=A6=C3=B8=C3=A5 =
The expected output is:
abc=E6=F8=E5
Running the following on a command prompt gives the correct output:
> ruby -e "system 'echo abc=E6=F8=E5'"
abc=E6=F8=E5
The problem comes clear when running other Windows commands through command=
line parameters e.g:
system("notepad.exe abc=E6=F8=E5.txt")
Notepad will complain not finding the file abc=C3=A6=C3=B8=C3=A5.txt instea=
d of abc=E6=F8=E5.txt =
It seems that there is an internal encoding done before running the command.
-- =
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=3Dunsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>