Problems with KDE_stat on systems where the default locale is not utf-8
Thiago Macieira
thiago at kde.org
Wed Nov 19 21:29:56 GMT 2008
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.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20081119/6777cc59/attachment.sig>
More information about the kde-core-devel
mailing list