Project

General

Profile

Actions

Feature #2255

closed

unicode parameters cannot be passed to ruby

Added by vo.x (Vit Ondruch) about 15 years ago. Updated about 7 years ago.

Status:
Closed
Assignee:
Target version:
[ruby-core:26232]

Description

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


Related issues 3 (0 open3 closed)

Related to Ruby master - Bug #1771: system()/popen()/popen3() & windows & unicode is not workingClosedusa (Usaku NAKAMURA)07/13/2009Actions
Related to Ruby master - Bug #1685: Some windows unicode path issues remainClosedusa (Usaku NAKAMURA)06/24/2009Actions
Related to Ruby master - Bug #10555: '?' is not match to multibyte character at commandline globbing on WindowsClosedwindows11/28/2014Actions
Actions #1

Updated by usa (Usaku NAKAMURA) about 15 years ago

Hello,

In message "[ruby-core:26232] [Feature #2255] unicode parameters cannot be passed to ruby"
on Oct.22,2009 20:42:24, 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

Actions #2

Updated by vo.x (Vit Ondruch) about 15 years ago

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.

Actions #3

Updated by usa (Usaku NAKAMURA) about 15 years ago

Hello,

In message "[ruby-core:26234] [Feature #2255] unicode parameters cannot be passed to ruby"
on Oct.22,2009 21:05:27, 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

Actions #4

Updated by vo.x (Vit Ondruch) about 15 years ago

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:\>
Actions #5

Updated by naruse (Yui NARUSE) about 15 years ago

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

Actions #6

Updated by vo.x (Vit Ondruch) about 15 years ago

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

Actions #7

Updated by vo.x (Vit Ondruch) about 15 years ago

  • File accept_unicode_parameters.diff added

Attached patch should fix this issue.

Actions #8

Updated by vo.x (Vit Ondruch) about 15 years ago

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

Thank you

Actions #9

Updated by naruse (Yui NARUSE) about 15 years ago

  • File deleted (accept_unicode_parameters.diff)
Actions #10

Updated by znz (Kazuhiro NISHIYAMA) over 14 years ago

  • Target version set to 2.0.0
Actions #11

Updated by usa (Usaku NAKAMURA) over 14 years ago

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

Updated by usa (Usaku NAKAMURA) about 12 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.

Updated by mame (Yusuke Endoh) about 12 years ago

Usa-san, what's the status?

--
Yusuke Endoh

Updated by usa (Usaku NAKAMURA) about 12 years ago

% Done: 0% ;-(

Updated by ko1 (Koichi Sasada) almost 12 years ago

  • Target version changed from 2.0.0 to 2.1.0

ping -> usa

Updated by hsbt (Hiroshi SHIBATA) almost 11 years ago

  • Target version changed from 2.1.0 to 2.2.0

Updated by usa (Usaku NAKAMURA) about 7 years ago

  • Assignee changed from usa (Usaku NAKAMURA) to windows
Actions #19

Updated by nobu (Nobuyoshi Nakada) about 7 years ago

  • Related to Bug #10555: '?' is not match to multibyte character at commandline globbing on Windows added

Updated by nobu (Nobuyoshi Nakada) about 7 years ago

  • Description updated (diff)

Seems fixed already.

Actions #21

Updated by nobu (Nobuyoshi Nakada) about 7 years ago

  • Status changed from Assigned to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0