我正在尝试签出一个git repo(this),这需要创建一个带有unicode字符的文件夹(名称是uni¢d€),其中缺少的字符(我不知道如何在这里渲染)是Hwair gothic character。在我的工作站上,它运行正常,但是当我尝试在服务器上执行此操作时(RedHatEnterpriseServer,我没有sudo权限),我收到错误
fatal: cannot create directory at 'python/ycm/tests/testdata/uni¢d€': Permission denied
作为旁注,我试图手动创建文件夹,而hwair字符是唯一一个产生问题的字符,意思是可以成功创建文件夹uni¢d€
。
两个系统上的LANG
变量都设置为en_US.UTF-8
。我试图找到我的工作站字体和服务器字体之间的差异。 Grepping'hwair',我在我的工作站上发现了一个服务器上缺少的字体,所以我在服务器上复制了~/.fonts
中的字体文件夹,然后运行fc-cache
,但这不起作用。
Google-ing hwair并在我的工作站和服务器上点击这里,我发现'hwair'字符应采用Code2001字体,我认为应该安装在两个系统上,因为两个系统都有文件/etc/fonts/conf.d/69-unifont.conf
,它们是相同的,并且包含行
<family>Code2001</family> <!-- plane1 and beyond -->
我从来没有真正处理过这种精细级别的字体,所以我不确定这是否可以通过在本地添加某些字体来解决(也许是系统禁止这种特殊字体)。我甚至不知道将字体文件复制到~/.fonts/
并运行fc-cache
是否足够,或者是否还有更多内容。
所以我想问题是:
编辑:无法创建的文件夹是git存储库的一部分。克隆存储库时(或者您尝试签出主分支时)会出现错误。我不认为权限存在问题,否则它也会在我的工作站上失败('host'文件夹的权限相同)。此外,尝试mkdir $( printf 'uni¢\xF0\x90\x8D\x88d€' )
也不起作用。 bash似乎确实正确解释了unicode编码,因为当打印'无法创建...'时,文件夹的名称显示为hwair符号。
Edit2:如果你认为这个问题存在一些缺陷,请添加评论,而不仅仅是投票结束。如果需要,我很乐意改变/编辑/改进。
答案 0 :(得分:3)
我遇到了完全相同的问题!
对于某些人来说-我不知道-原因是无法在Hwair character中提到某些文件系统中的文件名中包含that other guy。
因此,作为一种解决方法,我建议您使用以下内容查看可用的文件系统:
df -Th
,然后例如使用符号链接到使用 ext4 的文件系统。
仅供参考:不适用于我的文件系统的类型为 nfs4 。