[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2268: on Unix, in case of a FilenameEncodingError, suggest changing the LANG environment variable

Tahoe-LAFS trac at tahoe-lafs.org
Wed Jul 30 15:41:25 UTC 2014


#2268: on Unix, in case of a FilenameEncodingError, suggest changing the LANG
environment variable
------------------------------------+---------------------------
 Reporter:  daira                   |          Owner:
     Type:  enhancement             |         Status:  new
 Priority:  normal                  |      Milestone:  undecided
Component:  code-frontend-cli       |        Version:  1.10.0
 Keywords:  cli error unicode unix  |  Launchpad Bug:
------------------------------------+---------------------------
 Alexander Kaufman wrote:
 >     I wanted to let you know that "tahoe cp" on "Дядя Ваня (1970).avi"
 results in an error:
 >
 >     tahoe --version
 >     allmydata-tahoe: 1.10.0
 >     foolscap: 0.6.4
 >     pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958
 >     zfec: 1.4.24
 >     Twisted: 14.0.0
 >     Nevow: 0.10.0
 >     zope.interface: unknown
 >     python: 2.7.8
 >     platform: Linux-Arch_Linux_-x86_64-64bit_ELF
 >     pyOpenSSL: 0.14
 >     simplejson: 3.4.0
 >     pycrypto: 2.6.1
 >     pyasn1: 0.1.7
 >     mock: 1.0.1
 >     setuptools: 5.4.1
 >
 >     Traceback (most recent call last):
 >     File "/usr/lib/python2.7/site-packages/allmydata/scripts/runner.py",
 line 156, in run
 >     rc = runner(sys.argv[1:], install_node_control=install_node_control)
 >     File "/usr/lib/python2.7/site-packages/allmydata/scripts/runner.py",
 line 141, in runner
 >     rc = cli.dispatch[command](so)
 >     File "/usr/lib/python2.7/site-packages/allmydata/scripts/cli.py",
 line 551, in cp
 >     rc = tahoe_cp.copy(options)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 770, in copy
 >     return Copier().do_copy(options)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 451, in do_copy
 >     status = self.try_copy()
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 512, in try_copy
 >     return self.copy_to_directory(sources, target)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 616, in copy_to_directory
 >     source_dirs = self.build_graphs(source_infos)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 764, in build_graphs
 >     source.populate(True)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 112, in populate
 >     child.populate(True)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_cp.py", line 104, in populate
 >     children = listdir_unicode(self.pathname)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/util/encodingutil.py", line 279, in listdir_unicode
 >     return listdir_unicode_fallback(path)
 >     File "/usr/lib/python2.7/site-
 packages/allmydata/util/encodingutil.py", line 264, in
 listdir_unicode_fallback
 >     raise FilenameEncodingError(fn)
 >     FilenameEncodingError: ������������(1970).avi
 [...]
 >     The above happens when LANG=C and is fixed with
 >     export LANG=en_US.UTF-8

 In general the correct encoding for `LANG` is not necessarily UTF-8; it is
 whatever the filesystem uses. The error message should say this.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2268>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list