Problems with KDE_stat on systems where the default locale is not utf-8

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Thu Nov 20 05:58:08 GMT 2008


Thiago Macieira schrieb:
> Christian Ehrlicher wrote:
>> Hi,
>>
>> When QFile::encodeName() can't convert an unicode character into the
>> system locale (== all locales except utf-8), the non-convertable
>> character is replaced by a question mark. Now that the filename is
>> broken, KDE_stat() can't do anything usefull and fails.
>> For me looks like KDE_stat() and others are broken by design (when
>> system locale is not utf-8) and we need a unicode version of KDE_stat().
>>
>> Any ideas how to fix this issue? Maybe a new class KLocalFile which
>> wraps all KDE_foo functions?
> 
> We don't fix that issue. We only support KDE 4 in systems where the locale 
> is UTF-8. We've announced and told the public about this for 3 years now.
> 
> I converted my system to UTF-8 over 5 years ago. All distributions ship 
> UTF-8 locales by default. I doubt any of the systems that, in the past, 
> didn't use UTF-8 are able to compile KDE 4 today (gcc 3.4 minimum, 4.0 
> recommended). And MacOS X's only locale is UTF-8.
> 
> The only solution I have found so far for it is to add a QUrl-based API to 
> QFile/QFileInfo/QDir and the file engines. QUrl can hold any arbitrary 
> binary data as part of the pathname, and in 4.5 even raw slash characters 
> that are not directory separators.
> 
> However, that breaks on Windows, where you can't have binary random data 
> on the pathnames. First, the Win32 API is already in Unicode. Second, 
> there are strict (and arbitrary) limitations on what characters are 
> allowed in a path component.
> 
Reading your mail again I think you misunderstood me:

I've a perfectly valid filename in my QString/QUrl/KUrl. This file does 
exist and can be opened by all windows apps (and also all Qt-only apps) 
but *not* with KDE-apps because we use QFile::encodeName() instead 
passing the QString/QUrl to a platform dependend function. I can't 
explain an user why he can't open that file with a kde/windows app but 
with a qt-only one...


Christian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20081120/9f3fea88/attachment.sig>


More information about the kde-core-devel mailing list