|
From: | Thor Ablestar |
Subject: | [bug-gnu-libiconv] Problem found in MSDOSFS of FreeBSD |
Date: | Thu, 16 Feb 2012 20:59:58 +0900 |
User-agent: | Mozilla/5.0 (X11; FreeBSD i386; rv:10.0) Gecko/20120210 Thunderbird/10.0 |
Hello!There is a problem. Russian MS Office quite often generates files whose filenames contain character "No." № (UTF code 0x2116). Such files are inaccessible with msdosfs under FreeBSD.
Long ago and far away I produced an ugly hack by creating a custom conversion table file and mounting the drive with command
# mount_msdosfs -W custom_conversion_file /dev/da0s1 /mountpointbit the current version of mount_msdosfs does not use conversion table files. Instead, it uses conversion tables from locales and requires the locale name. After filing a trouble report and lots of conversation the FreeBSD team informed me that for now the library that converts filename encodings is FreeBSD port of libiconv (Which is quite strange since I believe that no ports of should be parts of core package)
Besides the hack would really belong in converters/libiconv upstream.
It appeared that UTF to KOI-8R conversion tables do NOT contain code 0x2116. The ugly hack to remap it to KOI-8R code 0xa9 (Copyright sign) in lib/koi8r.h works but it is neither officially approved nor recommendable. UTF-8 has no "No." character so this hack cannot be made official.
Also, the CP-1251 locale works but I will shoot myself twice if somebody forces me to use it. The same with CP-866 locale. Both have this code on proper place, and both have "No." symbol in place.
(There are some other problems with character 0x2116 in UTF-8 locale, not KOI-8 one but it's too early to report something, while FreeBSD team states no such problems exist in THEIR configuration)
What should I do? Anatoly
[Prev in Thread] | Current Thread | [Next in Thread] |