Ändern Sie die Dateisystemcodierung in Ubuntu in UTF-8

8

Wie finde ich heraus, welche Zeichensatzcodierung vom aktuellen Dateisystem verwendet wird und wie ändere ich sie in UTF-8?

BEARBEITEN:

Hier ist die Ausgabe von 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)

Hier ist die Ausgabe von "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
quelle

Antworten:

5

Auf Unix-ähnlichen Systemen wird die Codierung von Dateinamen nicht auf Dateisystemebene festgelegt, sondern in der Benutzerumgebung. Überprüfen Sie die Ausgabe von localeund sehen Sie sich das Material nach dem Punkt an - zum Beispiel in meinem Fall LANG=en_US.UTF-8, damit die Dateinamen in meiner Umgebung als UTF-8 interpretiert werden. Dies ist die Standardeinstellung in Ubuntu.

Die Antwort von Dennis Williamson ist für spezielle Dateisystemtypen relevant, für die eine Übersetzung erforderlich ist, und ich versuche nicht, auf dieses Problem einzugehen, da Ihre Ausgaben von mountund cat /etc/fstabzeigen, dass dies nicht Ihr Fall ist.

Amir
quelle
1
Systemgebietsschema ist bereits en_US.UTF-8
Jack
1
Ich denke nicht, dass das wahr ist. Mein LANG-en_US.UTF8 aber Ubuntu erstellt Dateien als us_ascii. Ubuntu scheint nichts mit der Codierung des Dateisystems zu tun zu haben. Leider
weiß am
3

Sie sagen nicht, welches Dateisystem, aber Sie können sich die Ausgabe ansehen, von mountder auf einem meiner Systeme derzeit ein iso9660-Dateisystem und einige vfat-Dateien mit utf8 angezeigt werden. Sie können sich auch den Inhalt ansehen, in dem /etc/fstabSie sie festgelegt haben oder der bereits festgelegt ist. Sehen Sie, man mountwas zeigt, dass NTFS und jfs zwei weitere sind, die diese Option haben.

Bis auf weiteres angehalten.
quelle
@ Tennis, ich habe die Ausgabe von mount und "cat / etc / fstab" gepostet. Es sieht so aus, als gäbe es dort keine Zeichensatz-Codierungsinformationen.
Jack
Sie sagen immer noch nicht, welches Dateisystem / Gerät oder welches spezifische Problem Sie lösen möchten. Wie Amir sagte, verwenden Sie anscheinend keines der von mir erwähnten Dateisysteme und Sie sagen, dass localees bereits korrekt ist. Was ist das Problem?
Bis auf weiteres angehalten.
@Dennis, du hast gesagt, deine Mount-Ausgabe zeigt, dass du ein iso9660-Dateisystem hast. Ich habe meine Mount-Ausgabe veröffentlicht. Ich habe nichts in Bezug auf das "Dateisystem" gesehen, das Sie in der Ausgabe erwähnt haben. Könnten Sie mir bitte helfen, es herauszufinden?
Jack
Das Dateisystem ist das, was nach dem Wort "Typ" in der Ausgabe von mountoder unter der Spalte "Typ" in aufgeführt ist /etc/fstab. In der angezeigten Ausgabe ist "ext3" ein Beispiel. Das iso9660-Dateisystem bezieht sich auf eine CD-ROM. Was genau ist das Problem, das Sie lösen möchten?
Bis auf weiteres angehalten.
2

Ubuntu verwendet standardmäßig die UTF-8-Codierung und anscheinend haben Sie sie nicht geändert. Sie könnten Dateinamen mit einer anderen Codierung haben. In diesem Fall können Sie convmv verwenden , um dies zu beheben.

ℝaphink
quelle
-1

Kurz gesagt, Sie können nicht wirklich.

Es gibt zwei Dinge, die Codierung der Dateinamen und die Codierung der Daten in den Dateien. In beiden Fällen speichert das Dateisystem nur die Rohbytes. Der Benutzer muss sicherstellen, dass es sich um die vom Benutzer gewünschte Codierung handelt.

Rory
quelle