当前位置: 首页>>技术教程>>正文


在Ubuntu中将文件系统编码更改为UTF-8

, ,

问题描述

如何找出当前文件系统使用的字符集编码以及如何将其更改为UTF-8?

编辑:

这是mount的输出:

/dev/sdb6 on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-11-generic/volatile type tmpfs (rw,mode=755)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)

这是“ cat /etc /fstab”的输出

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sdb7
UUID=50d660f1-1948-41e1-96af-3cb9bca338dd /               ext3    relatime,errors=remount-ro 0       0
# /dev/sdb8
UUID=efaee412-8e29-4f65-927d-f57252451088 none            swap    sw              0       0

最佳办法

在Unix-like系统上,文件名的编码不是在文件系统级别设置的,而是在用户环境中设置的。检查locale的输出,并查看点后的内容-例如,在我的情况下为LANG=en_US.UTF-8,因此我环境中的文件名被解释为UTF-8。这是Ubuntu中的默认设置。

answer from Dennis Williamson与需要转换的特殊文件系统类型相关,由于您的mountcat /etc/fstab的输出显示出您的情况并非如此,因此我不打算尝试解决此问题。

次佳办法

您没有说什么文件系统,但是您可以查看mount的输出,该输出在我的一个系统上当前显示iso9660文件系统和几个vfat utf8文件系统。您还可以查看/etc/fstab的内容,这是您设置它们或已设置它们的位置。请参阅man mount,其中显示NTFS和jfs还有两个具有该选项的位置。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8199.html,未经允许,请勿转载。