Feature #2255

unicode parameters cannot be passed to ruby

Added by Vit Ondruch over 4 years ago. Updated 3 months ago.

[ruby-core:26232]
Status:Assigned
Priority:Normal
Assignee:Usaku NAKAMURA
Category:M17N
Target version:current: 2.2.0

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 working Closed 07/13/2009
Related to ruby-trunk - Bug #1685: Some windows unicode path issues remain Closed 06/24/2009

History

#1 Updated by Usaku NAKAMURA over 4 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 Vit Ondruch over 4 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 Usaku NAKAMURA over 4 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 Vit Ondruch over 4 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ủazufälligežluťoučkýразлога
c?a
zufälligežluoučký???????

C:>
=end

#5 Updated by Yui NARUSE over 4 years ago

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

#6 Updated by Vit Ondruch over 4 years ago

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

#7 Updated by Vit Ondruch over 4 years ago

  • File accept_unicode_parameters.diff added

=begin
Attached patch should fix this issue.
=end

#8 Updated by Vit Ondruch over 4 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 Yui NARUSE over 4 years ago

  • File deleted (accept_unicode_parameters.diff)

=begin

=end

#10 Updated by Kazuhiro NISHIYAMA about 4 years ago

  • Target version set to 2.0.0

=begin

=end

#11 Updated by Usaku NAKAMURA about 4 years ago

  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA

=begin

=end

#12 Updated by Usaku NAKAMURA over 1 year 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.

#13 Updated by Vit Ondruch over 1 year ago

Thank you!

#14 Updated by Yusuke Endoh over 1 year ago

Usa-san, what's the status?

Yusuke Endoh mame@tsg.ne.jp

#15 Updated by Usaku NAKAMURA over 1 year ago

% Done: 0% ;-(

#16 Updated by Koichi Sasada about 1 year ago

  • Target version changed from 2.0.0 to 2.1.0

ping -> usa

#17 Updated by Hiroshi SHIBATA 3 months ago

  • Target version changed from 2.1.0 to current: 2.2.0

Also available in: Atom PDF