Cambia la codifica del filesystem in UTF-8 in Ubuntu


8

Come scoprire quale codifica set di caratteri viene utilizzata dal file system corrente e come modificarla in UTF-8?

MODIFICARE:

Ecco l'output di 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)

Ecco l'output di "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

Risposte:


5

Su sistemi simili a Unix, la codifica dei nomi dei file non è impostata a livello di filesystem, ma piuttosto nell'ambiente utente. Controlla l'output di localee guarda le cose dopo il punto - ad esempio, nel mio caso LANG=en_US.UTF-8, quindi i nomi dei file nel mio ambiente sono interpretati come UTF-8. Questa è l'impostazione predefinita in Ubuntu.

La risposta di Dennis Williamson è rilevante per i tipi di filesystem speciali che richiedono la traduzione, e non sto tentando di affrontare questo problema perché i tuoi risultati mounte cat /etc/fstabmostrano che questo non è il tuo caso.


1
la locale di sistema è già en_US.UTF-8
jack

1
Non penso sia vero. Il mio LANG-en_US.UTF8 ma Ubuntu crea file come us_ascii. Ubuntu non sembra fare nulla con la codifica a livello di file system. Sfortunatamente
onknows il

3

Non dite quale filesystem, tuttavia potete vedere l'output di mountcui su uno dei miei sistemi attualmente mostra un filesystem iso9660 e un paio di quelli vfat che sono utf8. Puoi anche guardare i contenuti di /etc/fstabdove li avresti impostati o che sono già impostati. Guarda man mountche mostra che NTFS e jfs sono altri due che hanno quell'opzione.


@Dennis, ho pubblicato l'output di mount e "cat / etc / fstab". Sembra che non ci siano informazioni di codifica del set di caratteri lì.
Jack

Non dici ancora quale filesystem / dispositivo o quale specifico problema stai cercando di risolvere. Come ha detto Amir , apparentemente non stai usando uno dei filesystem che ho citato e dici che localeè già corretto. Qual'è il problema?
In pausa fino a nuovo avviso.

@Dennis, hai detto che l'output di mount mostra che hai un filesystem iso9660. Ho pubblicato l'output di mount. Non ho visto nulla di correlato al "filesystem" che hai citato nell'output. La prego di aiutarmi a capirlo?
Jack

Il filesystem è ciò che è elencato dopo la parola "type" nell'output mounto nella colonna "type" in /etc/fstab. Nell'output visualizzato, "ext3" è un esempio. Il filesystem iso9660 fa riferimento a un CD-ROM. Qual è specificamente il problema che stai cercando di risolvere?
In pausa fino a nuovo avviso.

2

Ubuntu utilizza la codifica UTF-8 per impostazione predefinita e sembra che tu non l'abbia modificata. Potresti avere nomi di file con una codifica diversa. In tal caso, è possibile utilizzare convmv per risolvere il problema.


-1

In breve, non puoi davvero.

Ci sono 2 cose, la codifica dei nomi dei file e la codifica dei dati nei file. In entrambi i casi il filesystem memorizzerà solo i byte grezzi. Spetta all'utente assicurarsi che siano la codifica desiderata dall'utente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.