Red Hat Bugzilla – Bug 861668
Cannot open Russian filenames
Last modified: 2012-10-01 03:27:41 EDT
Created attachment 619213 [details]
screenshot of the problem
Description of problem:
I have a .xls file from a Russian Windows system but libreoffice can't open it :(
The filename could be
In : f1 = '\xd1%88\xd0\xba.2.xls'
In : open('/tmp/'+f1, 'w')
Out: <open file '/tmp/�%88к.2.xls', mode 'w' at 0x1112c00>
Opening with LibreOffice fails:
$ libreoffice *2.xls
produces an error message, that the file could not be opened.
Turns out, that the \xd1 is the minimal test case. Opening '\xd1.4.xls' fails.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
I expected it to open the file. Despite the fact that the filename is not proper utf-8 but probably windows-1252 or so.
This is an unfortunate consequence of a long-standing internal design decision in LibreOffice/OpenOffice.org, namely to internally represent all pathnames as file URLs with UTF-8 encoded payload. In a locale like UTF-8, where \xD1 does not represent a valid character, there is currently no way for LibreOffice to transport the pathname intact from the user to the system interface. Due to the massive impact any changes to this would have, a fix in the foreseeable future is unlikely.
As a workaround, you can rename the file before opening, or try to start soffice from a locale where \xD1 /is/ a valid character, like
LC_ALL=C soffice ...