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

8

Как узнать, какая кодировка charset используется текущей файловой системой и как изменить ее на 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
Джек
источник

Ответы:

5

В Unix-подобных системах кодирование имен файлов устанавливается не на уровне файловой системы, а в пользовательской среде. Проверьте вывод localeи посмотрите на материал после точки - например, в моем случае LANG=en_US.UTF-8, чтобы имена файлов в моей среде интерпретировались как UTF-8. Это настройка по умолчанию в Ubuntu.

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

эмир
источник
1
локаль системы уже en_US.UTF-8
гнездо
1
Я не думаю, что это правда. Мой LANG-en_US.UTF8, но Ubuntu создает файлы как us_ascii. Ubuntu, похоже, ничего не делает с кодировкой уровня файловой системы. Неудобно
onknows
3

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

Приостановлено до дальнейшего уведомления.
источник
@Dennis, я выложил вывод mount и "cat / etc / fstab". Похоже, там нет информации о кодировке кодировки.
Джек
Вы по-прежнему не говорите, какую файловую систему / устройство или какую конкретную проблему вы пытаетесь решить. Как сказал Амир , вы явно не используете одну из упомянутых мной файловых систем и говорите, что localeона уже правильная. В чем проблема?
Приостановлено до дальнейшего уведомления.
@ Денис, вы сказали, что ваш вывод при монтировании показывает, что у вас есть файловая система iso9660. Я опубликовал свой вывод для монтирования. Я не видел ничего, связанного с "файловой системой", которую вы упомянули в выводе. Не могли бы вы помочь мне разобраться?
Джек
Файловая система - это то, что указано после слова «тип» в выходных данных mountили под столбцом «тип» в /etc/fstab. В выводе, который вы показываете, "ext3" является примером. Файловая система iso9660 относится к CD-ROM. Какую конкретно проблему вы пытаетесь решить?
Приостановлено до дальнейшего уведомления.
2

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

ℝaphink
источник
-1

Короче говоря, вы не можете на самом деле.

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

Рори
источник