Назад | Перейти на главную страницу

Измените кодировку файловой системы на UTF-8 в Ubuntu

Как узнать, какая кодировка используется в текущей файловой системе и как изменить ее на 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-подобных системах кодировка имен файлов устанавливается не на уровне файловой системы, а в пользовательской среде. Проверьте вывод locale и посмотрите на вещи после точки - например, в моем случае LANG=en_US.UTF-8, поэтому имена файлов в моей среде интерпретируются как UTF-8. Это настройка по умолчанию в Ubuntu.

В ответ от Денниса Уильямсона актуально для специальных типов файловых систем, требующих перевода, и я не пытаюсь вникать в эту проблему, потому что ваши результаты mount и cat /etc/fstab покажи, что это не твой случай.

Вы не говорите, какая файловая система, но вы можете посмотреть вывод mount который в одной из моих систем в настоящее время показывает файловую систему iso9660 и пару vfat, которые являются utf8. Вы также можете посмотреть содержимое /etc/fstab где вы бы их установили, или они уже установлены. Видеть man mount который показывает, что NTFS и jfs - это еще два, у которых есть эта опция.

Ubuntu по умолчанию использует кодировку UTF-8, и, похоже, вы ее не меняли. У вас могут быть имена файлов с другой кодировкой. В этом случае вы можете использовать convmv чтобы исправить это.

Короче говоря, на самом деле нельзя.

Есть 2 вещи: кодировка имен файлов и кодировка данных в файлах. В обоих случаях файловая система будет просто хранить необработанные байты. Пользователь должен убедиться, что это кодировка, которую он хочет.