在 Debian(以及一般的 Linux) 下,opendir() 是支持中文路径的,但有几个前提条件需要注意:
opendir() 就可以正常打开✅ 示例(C 语言):
#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir = opendir("/home/user/中文目录");
if (dir) {
printf("打开成功\n");
closedir(dir);
} else {
perror("opendir");
}
return 0;
}
如果:
那就 完全没问题
⚠️ 常见问题:
ls 显示乱码如果是挂载的 Windows 盘:
mount | grep ntfs
可能需要指定编码:
mount -t ntfs-3g /dev/sdb1 /mnt/win -o iocharset=utf8
✅ Debian 的 opendir() 支持中文路径
✅ 只要使用 UTF-8
❌ 不支持 GBK / GB2312 直接传入
如果你是在 某种语言(Python / C++ / Java) 或 特定环境(Docker / WSL / SMB) 下遇到问题,可以告诉我具体场景,我可以直接帮你定位。