Portál AbcLinuxu, 12. května 2025 14:32
Zdravím,
potřeboval bych nějak vyřešit problém s codepage na vfat (na usb flaskách a discích). Místo českých znaků mám otazníky.
Locale v systému mám:
LANG=cs_CZ.iso8859-2
LC_CTYPE="cs_CZ.iso8859-2"
LC_NUMERIC="cs_CZ.iso8859-2"
LC_TIME="cs_CZ.iso8859-2"
LC_COLLATE=C
LC_MONETARY="cs_CZ.iso8859-2"
LC_MESSAGES="cs_CZ.iso8859-2"
LC_PAPER="cs_CZ.iso8859-2"
LC_NAME="cs_CZ.iso8859-2"
LC_ADDRESS="cs_CZ.iso8859-2"
LC_TELEPHONE="cs_CZ.iso8859-2"
LC_MEASUREMENT="cs_CZ.iso8859-2"
LC_IDENTIFICATION="cs_CZ.iso8859-2"
LC_ALL=
Podobný výsledek dostanu i při utf-8.
V /etc/hal/fdi/policy/10svendor/10-storage-policy-vendor (podle jednoho návodu na netu) mám:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="vfat">
<merge key="volume.policy.mount_option.iocharset=utf-8" type="bool">true</merge>
</match>
</device>
</deviceinfo>
A ani tenhle návod nepomohl: http://www.abclinuxu.cz/poradna/linux/show/156079
Používám Archlinux 2009.2, kernel 2.6.29.3, udev 141-1, hal 0.5.12git20090421.4fc367-2 a dbus 1.2.4.6.
Nemáte někdo nápad, co udělat nebo kde by mohl být problém?
LANG=en_US.utf8 LC_CTYPE="en_US.utf8" LC_NUMERIC="en_US.utf8" LC_TIME="en_US.utf8" LC_COLLATE=C LC_MONETARY="en_US.utf8" LC_MESSAGES="en_US.utf8" LC_PAPER="en_US.utf8" LC_NAME="en_US.utf8" LC_ADDRESS="en_US.utf8" LC_TELEPHONE="en_US.utf8" LC_MEASUREMENT="en_US.utf8" LC_IDENTIFICATION="en_US.utf8" LC_ALL=No a flash atd mountuji takto:
mount -t vfat /dev/flashka /media/flashka -o utf8
Problém bude nejspíš v tom, že se snažíte systému říct, aby když připojuje VFAT, si myslel, že je tam použito kódování UTF-8. To je ale dost nepravděpodobné, na VFAT se většinou setkáte s WINDOWS-1250. Jinak samotný souborový systém VFAT nemá v sobě nikde obsaženou informaci o tom, v jakém kódování názvy souborů jsou, takže to musí určit uživatel při připojování. Některé modernější souborové systémy už myslím tuto informaci nést "umí".
UTF-8 jsem si taky zkusil, ale pak se mi nějak rozhodila diakritika v názvech souborů na disku. Jasně, že bych nejraději měl v locale utf-8, ale nějak nevím, co kde nastavit, aby byla dikritika v pohodě. A přepisovat a opravovat jména souborů se mi nechce )) Možná, kdyby mi někdo poradil, jak vyřešit tohle, bylo by to super
Díky.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.