首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cygpath和重音(àè下朱奥奥)

Cygpath和重音(àè下朱奥奥)
EN

Stack Overflow用户
提问于 2016-10-09 15:23:13
回答 1查看 286关注 0票数 1

cygpath似乎没有正确地处理带有重音的路径。

代码语言:javascript
复制
C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\àòè\foo2"

版画

代码语言:javascript
复制
/usr/bin/"C:/foo/àòè/foo2"

然而,我希望:

代码语言:javascript
复制
/cygdrive/c/foo/àòè/foo2

没有重音的相同路径会产生预期的结果:

代码语言:javascript
复制
C:\cygwin64\bin>cygpath --absolute -C UTF8 "C:\foo\aoe\foo2"
/cygdrive/c/foo/aoe/foo2

我做错了什么吗?

-编辑1

我在Win 10上使用Cygpath 2.6.0。

代码语言:javascript
复制
C:\cygwin64\bin>cygpath --version
cygpath (cygwin) 2.6.0
Path Conversion Utility
Copyright (C) 1998 - 2016 Cygwin Authors
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

C:\cygwin64\bin>locale
LANG=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=

据我所知,禤浩焯回答后,我认为问题是,我试图使用cygpath而不运行cygwin bash,因为使用它我没有任何问题。

代码语言:javascript
复制
$ cygpath --absolute -C UTF8 "C:\foo\àèò\foo2"
/cygdrive/c/foo/àèò/foo2

但是我需要直接使用cygpath而不使用bash,你认为有办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-09 15:54:07

您运行的是什么版本的Cygwin/cygpath?我不能重复这个:

代码语言:javascript
复制
$ cygpath --absolute -C UTF8 "C:\foo\àòè\foo2"
/cygdrive/c/foo/àòè/foo2

$ cygpath --version
cygpath (cygwin) 1.7.35
Path Conversion Utility
Copyright (C) 1998 - 2015 Red Hat, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=en_US.UTF-8

编辑

作品:

  • cygpath-1.7.35 in mintty.exe (Cygwin)、cmd.exe和Powershell。
  • cygpath-2.6.0 in mintty.exe (Cygwin)和Powershell。

不起作用:

  • cygpath-2.6.0 in cmd.exe

这似乎与引用有关,有一个解决办法。指定没有引号的路径将得到正确的结果:

代码语言:javascript
复制
c:\cygwin\bin>cygpath --absolute -C UTF8 'C:\foo\àèò\foo2'
/cygdrive/c/cygwin/bin/'C:/foo/àèò/foo2'

c:\cygwin\bin>cygpath --absolute -C UTF8 C:\foo\àèò\foo2
/cygdrive/c/foo/àèò/foo2

我不确定Cygwin devs是否/如何支持在Cygwin-shell之外运行Cygwin应用程序,但是由于这在我说它是一个bug之前是有效的,所以您应该将它发布到他们的邮件列表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39945208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档