如何使用“mount()”函数(来自“mount.h”,请参阅“man 2 mount”)以安装UTF8的方式安装FAT / FAT32设备?
这是我用来装载它的相关代码:直到现在:
mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "");
谢谢, 尼古拉
答案 0 :(得分:2)
来自manpage:
数据参数由不同的文件系统解释。通常,它是由此文件系统理解的一串逗号分隔选项。
从mount(8)的联机帮助页,“为vfat安装选项”:
utf8: UTF8是控制台使用的Unicode文件系统安全8位编码。可以使用此选项为文件系统启用它。如果设置了'uni_xlate',UTF8将被禁用。
因此,这应该给你想要的行为:
mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "utf8");
答案 1 :(得分:1)
mount命令的最后一个参数是由内核中的文件系统驱动程序解释的字符串。它与传递给mount shell命令的方式相同。对于UTF8,我相信字符串应该是:
mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "iocharset=utf8");
答案 2 :(得分:1)
我想你可能需要尝试“utf8 = 1”。