如何创建包含unicode字符的路径的符号链接?

时间:2018-05-05 22:52:02

标签: c unix unicode symlink fcntl

我使用UNIX函数symlink()来链接包含Unicode字符的路径。但是,当我读取链接时,它返回?而不是Unicode字符。

这就是我的方法:

if (symlink("symlink.jpg", "/real/path/光芒.jpg") != 0)
    warn("symlink() error\n");
else //symlink creation successful

此时已成功创建符号链接,但链接如下所示:

 symlink.jpg -> /real/path/??.jpg

我希望链接看起来像这样:

 symlink.jpg -> /real/path/光芒.jpg

谁能告诉我为什么会这样? 任何修复或替代库/功能建议将不胜感激。

其他信息:

  1. 我怀疑库unistd.hfcntl.h可能没有unicode支持。因为当我使用creat()open()创建名为光芒.jpg的新文件时,它实际上会创建一个名为??.jpg的文件。
  2. 我的开发环境和编译器具有unicode支持。例如,fprint()可以使用unicode字符。

0 个答案:

没有答案