Project

General

Profile

Feature #2255

unicode parameters cannot be passed to ruby

Added by vo.x (Vit Ondruch) almost 8 years ago. Updated over 3 years ago.

Status:
Assigned
Priority:
Normal
Target version:
[ruby-core:26232]

Description

=begin
On windows, Ruby should provide wmain to allow passing unicode parameters (especially file paths are of interest).
=end


Related issues

Related to Ruby trunk - Bug #1771: system()/popen()/popen3() & windows & unicode is not workingClosed2009-07-13
Related to Ruby trunk - Bug #1685: Some windows unicode path issues remainClosed2009-06-24

History

#1 Updated by usa (Usaku NAKAMURA) almost 8 years ago

=begin
Hello,

In message " [Feature #2255] unicode parameters cannot be passed to ruby"
on Oct.22,2009 20:42:24, redmine@ruby-lang.org wrote:

On windows, Ruby should provide wmain to allow passing unicode parameters (especially file paths are of interest).

It doesn't make sense.

BTW, we have tha plan that UTF-8'ed ARGV with -Eutf-8 option,
but not implemented yet.

Regards,
--
U.Nakamura usa@garbagecollect.jp

=end

#2 Updated by vo.x (Vit Ondruch) almost 8 years ago

=begin

It doesn't make sense.

Why? May be wmain is not the right thing, but at least Unicode parameters should be possible to accept if it is windows application (probably using GetCommandLineW API function). UTF-8 is nice but that is different story.
=end

#3 Updated by usa (Usaku NAKAMURA) almost 8 years ago

=begin
Hello,

In message " [Feature #2255] unicode parameters cannot be passed to ruby"
on Oct.22,2009 21:05:27, redmine@ruby-lang.org wrote:

Why? May be wmain is not the right thing, but at least Unicode parameters should be possible to accept if it is windows application (probably using GetCommandLineW API function). UTF-8 is nice but that is different story.

Yes, using GetCommandLineW() is correct way, and providing wmain()
is nonsence. (Who use it?)

Our current plan is that using UTF-8 instead of UTF-16LE as internal
Windows strings.
We have not fixed whether supporting to pass UTF-16LE'ed ARGV to user
script or not.
If we will do so, the priority might be low.

Regards,
--
U.Nakamura usa@garbagecollect.jp

=end

#4 Updated by vo.x (Vit Ondruch) almost 8 years ago

=begin
For me, internal encoding doesn't matter, since the conversion is pretty easy. But important is that the following example will work properly:

C:>echo puts ARGV[0] > uparam.rb

C:>ruby\bin\ruby.exe uparam.rb của_zufällige_žluťoučkýразлога
c?a_zufällige
žluoučký_???????

C:>
=end

#5 Updated by naruse (Yui NARUSE) almost 8 years ago

=begin
Did you try latest ruby-trunk?
It should run already.
=end

#6 Updated by vo.x (Vit Ondruch) almost 8 years ago

=begin
I tried ruby 1.9.2dev (2009-10-15) [i386-mswin32_90] from win32-unicode-test branch.
=end

#7 Updated by vo.x (Vit Ondruch) almost 8 years ago

  • File accept_unicode_parameters.diff added

=begin
Attached patch should fix this issue.
=end

#8 Updated by vo.x (Vit Ondruch) almost 8 years ago

=begin
Ouch, sorry, this is patch for something bit different. Please forget about it (delete it if possible).

Thank you
=end

#9 Updated by naruse (Yui NARUSE) over 7 years ago

  • File deleted (accept_unicode_parameters.diff)

=begin

=end

#10 Updated by znz (Kazuhiro NISHIYAMA) over 7 years ago

  • Target version set to 2.0.0

=begin

=end

#11 Updated by usa (Usaku NAKAMURA) over 7 years ago

  • Status changed from Open to Assigned
  • Assignee set to usa (Usaku NAKAMURA)

=begin

=end

#12 [ruby-core:48465] Updated by usa (Usaku NAKAMURA) over 4 years ago

  • Description updated (diff)

I think that if -Eutf-8 is specified ARGV should be parsed from GetCommandLineW()
and converted to UTF-8.
But it's difficult to change ruby with keeping compatibility.
I'll try it till code freeze, but I can't promise that it will be in time for 2.0.

#14 [ruby-core:49938] Updated by mame (Yusuke Endoh) over 4 years ago

Usa-san, what's the status?

--
Yusuke Endoh mame@tsg.ne.jp

#15 [ruby-core:50150] Updated by usa (Usaku NAKAMURA) over 4 years ago

% Done: 0% ;-(

#16 [ruby-core:52801] Updated by ko1 (Koichi Sasada) over 4 years ago

  • Target version changed from 2.0.0 to 2.1.0

ping -> usa

#17 [ruby-core:60257] Updated by hsbt (Hiroshi SHIBATA) over 3 years ago

  • Target version changed from 2.1.0 to 2.2.0

Also available in: Atom PDF