Changer le codage du système de fichiers en UTF-8 dans Ubuntu

8

Comment savoir quel codage charset est utilisé par le système de fichiers actuel et comment le changer en UTF-8?

ÉDITER:

Voici la sortie de 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)

Voici la sortie de "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
jack
la source

Réponses:

5

Sur les systèmes de type Unix, l'encodage des noms de fichiers n'est pas défini au niveau du système de fichiers, mais plutôt dans l'environnement utilisateur. Vérifiez la sortie de localeet regardez les éléments après le point - par exemple, dans mon cas LANG=en_US.UTF-8, pour que les noms de fichiers dans mon environnement soient interprétés comme UTF-8. Il s'agit du paramètre par défaut dans Ubuntu.

La réponse de Dennis Williamson est pertinente pour les types de systèmes de fichiers spéciaux qui nécessitent une traduction, et je n'essaie pas d'entrer dans ce problème car vos sorties de mountet cat /etc/fstabmontrent que ce n'est pas votre cas.

Amir
la source
1
les paramètres régionaux du système sont déjà en_US.UTF-8
jack
1
Je ne pense pas que ce soit vrai. Mon LANG-en_US.UTF8 mais Ubuntu crée des fichiers comme us_ascii. Ubuntu ne semble rien faire avec l'encodage au niveau du système de fichiers. Malheureusement
onknows
3

Vous ne dites pas quel système de fichiers, mais vous pouvez regarder la sortie mountqui sur l'un de mes systèmes montre actuellement un système de fichiers iso9660 et quelques vfat qui sont utf8. Vous pouvez également consulter le contenu de l' /etc/fstabendroit où vous les avez définis ou ils sont déjà définis. Voir man mountqui montre que NTFS et jfs sont deux autres qui ont cette option.

En pause jusqu'à nouvel ordre.
la source
@Dennis, j'ai posté la sortie de mount et "cat / etc / fstab". Il semble qu'il n'y ait aucune information d'encodage de jeu de caractères.
jack
Vous ne dites toujours pas quel système de fichiers / périphérique ou quel problème spécifique vous essayez de résoudre. Comme l'a dit Amir , vous n'utilisez apparemment pas l'un des systèmes de fichiers que j'ai mentionnés et vous dites qu'il localeest déjà correct. Quelle est la solution?
pause jusqu'à nouvel ordre.
@Dennis, vous avez dit que votre sortie de montage montre que vous avez un système de fichiers iso9660. J'ai publié ma sortie de montage. Je n'ai rien vu de "système de fichiers" que vous avez mentionné dans la sortie. Pourriez-vous s'il vous plaît m'aider à le comprendre?
jack
Le système de fichiers est ce qui est répertorié après le mot "type" dans la sortie de mountou sous la colonne "type" dans /etc/fstab. Dans la sortie que vous montrez, "ext3" est un exemple. Le système de fichiers iso9660 fait référence à un CD-ROM. Quel est précisément le problème que vous essayez de résoudre?
pause jusqu'à nouvel ordre.
2

Ubuntu utilise l'encodage UTF-8 par défaut et il semble que vous ne l'ayez pas modifié. Vous pouvez avoir des noms de fichiers avec un encodage différent. Dans ce cas, vous pouvez utiliser convmv pour résoudre ce problème.

ℝaphink
la source
-1

En bref, vous ne pouvez pas vraiment.

Il y a 2 choses, l'encodage des noms de fichiers et l'encodage des données dans les fichiers. Dans les deux cas, le système de fichiers stockera simplement les octets bruts. C'est à l'utilisateur de s'assurer qu'il s'agit du codage souhaité par l'utilisateur.

Rory
la source