https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112012-03-11T16:43:54ZRuby Issue Tracking SystemRuby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=244482012-03-11T16:43:54Zko1 (Koichi Sasada)
<ul><li><strong>Assignee</strong> set to <i>usa (Usaku NAKAMURA)</i></li></ul> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245212012-03-11T23:36:19Znaruse (Yui NARUSE)naruse@airemix.jp
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Rejected</i></li></ul><p>Ruby uses AreFileApisANSI() ? GetACP() : GetOEMCP() on Windows, not environment variables.</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245222012-03-11T23:59:05Znow (Nikolai Weibull)now@disu.se
<ul></ul><p>On Sun, Mar 11, 2012 at 15:36, Yui NARUSE <a href="mailto:naruse@airemix.jp" class="email">naruse@airemix.jp</a> wrote:</p>
<blockquote>
<p>Issue <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://redmine.ruby-lang.org/issues/5570">#5570</a> has been updated by Yui NARUSE.</p>
<p>Status changed from Open to Rejected</p>
<p>Ruby uses AreFileApisANSI() ? GetACP() : GetOEMCP() on Windows, not environment variables.</p>
</blockquote>
<p>The problem is with the encoding of the values of the environment<br>
variables, not whether environment variables are used to determine the<br>
encoding of file names or not.</p>
<p>Please re-open.</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245242012-03-12T00:05:36Znaruse (Yui NARUSE)naruse@airemix.jp
<ul><li><strong>Status</strong> changed from <i>Rejected</i> to <i>Assigned</i></li></ul><p>Ah, you are saying "use Wide API".</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245252012-03-12T00:10:20Zluislavena (Luis Lavena)luislavena@gmail.com
<ul></ul><p>Correct,</p>
<p>A example that reproduces the issue:</p>
<pre>
C:\Users\Luis>ruby -v
ruby 1.9.3p155 (2012-03-03 revision 34878) [i386-mingw32]
C:\Users\Luis>chcp
Active code page: 1252
C:\Users\Luis>SET FOO=fóñè
C:\Users\Luis>ruby -e "puts ENV['FOO']"
fóñè
C:\Users\Luis>chcp 65001
Active code page: 65001
C:\Users\Luis>ruby -e "puts ENV['FOO']"
f���
</pre>
<p>This also happens with environment variables used to construct users home directory "~" if they contain accented characters.</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245282012-03-12T06:44:03Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li><li><strong>Target version</strong> set to <i>2.0.0</i></li></ul><p>Which codepage should be used there, ACP or OEMCP?</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245372012-03-12T16:53:16Znow (Nikolai Weibull)now@disu.se
<ul></ul><p>On Sun, Mar 11, 2012 at 22:44, Nobuyoshi Nakada <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>Issue <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://redmine.ruby-lang.org/issues/5570">#5570</a> has been updated by Nobuyoshi Nakada.</p>
<p>Status changed from Assigned to Feedback<br>
Target version set to 2.0.0</p>
<p>Which codepage should be used there, ACP or OEMCP?</p>
</blockquote>
<p>I’m not sure that I understand what the question is referring to, but<br>
the encoding of the value of environment variables should be the<br>
filesystem encoding on Windows, just as it is on Unix. The only<br>
difference is that _wgetenv should be used instead of getenv so that<br>
the transcoding can be done reliably.</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=245932012-03-15T13:23:19Znow (Nikolai Weibull)now@disu.se
<ul></ul><p>On Thu, Mar 15, 2012 at 02:51, U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a> wrote:</p>
<blockquote>
<p>Hello,</p>
<p>In message "<a href="/issues/5570">[ruby-core:43237]</a> [ruby-trunk - Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://redmine.ruby-lang.org/issues/5570">#5570</a>][Feedback] Encoding of environment variables on Windows"<br>
on Mar.12,2012 06:44:04, <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>Which codepage should be used there, ACP or OEMCP?</p>
</blockquote>
<p>maybe locale?</p>
</blockquote>
<p>Huh? Again, this isn’t the issue.</p> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=246282012-03-16T12:46:35Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r35030.<br>
Nikolai, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<ul>
<li>
<p>win32/win32.c, include/ruby/win32.h (rb_w32_ugetenv): new API to<br>
accept and to return UTF-8 strings.</p>
</li>
<li>
<p>win32/win32.c (rb_w32_getenv): follow above change.</p>
</li>
<li>
<p>win32/win32.c (rb_w32_get_environ): returns UTF-8 environment area.</p>
</li>
<li>
<p>hash.c (env_str_new, rb_f_getenv, env_fetch): follow above changes.<br>
[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://redmine.ruby-lang.org/issues/5570">#5570</a>] <a href="/issues/5570">[ruby-core:40737]</a></p>
</li>
</ul> Ruby master - Bug #5570: Encoding of environment variables on Windowshttps://redmine.ruby-lang.org/issues/5570?journal_id=246382012-03-16T14:23:12Znow (Nikolai Weibull)now@disu.se
<ul></ul><p>On Thu, Mar 15, 2012 at 05:16, Nikolai Weibull <a href="mailto:now@bitwi.se" class="email">now@bitwi.se</a> wrote:</p>
<blockquote>
<p>On Thu, Mar 15, 2012 at 02:51, U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a> wrote:</p>
<blockquote>
<p>Hello,</p>
<p>In message "<a href="/issues/5570">[ruby-core:43237]</a> [ruby-trunk - Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Encoding of environment variables on Windows (Closed)" href="https://redmine.ruby-lang.org/issues/5570">#5570</a>][Feedback] Encoding of environment variables on Windows"<br>
on Mar.12,2012 06:44:04, <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>Which codepage should be used there, ACP or OEMCP?</p>
</blockquote>
<p>maybe locale?</p>
</blockquote>
<p>Huh? Again, this isn’t the issue.</p>
</blockquote>
<p>This seems to have been resolved in 35030.</p>
<p>Thanks!</p>