On Mo, 23.11.20 16:50, John Scott via gnome-devel-list 
([email protected]) wrote:

> Hello,
>
> It's my understanding from the docs that unless specified otherwise, functions
> in GNOME's realm leverage UTF-8 strings. The (unstable) GLib docs say
> > Glib uses UTF-8 for its strings, and GUI toolkits like GTK+ that use GLib do
> > the same thing. If you get a file name from the file system, for example, 
> > from
> > readdir() or from g_dir_read_name(), and you wish to display the file name 
> > to
> > the user, you will need to convert it into UTF-8.
> > The opposite case is when the user types the name of a file they wish to
> > save: the toolkit will give you that string in UTF-8 encoding, and you will
> > need to convert it to the character set used for file names before you can
> > create the file with open() or fopen().
>
> In this example, I presume that it would require conversion to UTF-8 if I were
> to use a GNOME function to show the filename, and otherwise I ought to be able
> to use puts() or printf() as per usual.
>
> This seems a little complicated if there are many things talking to each
> other, like DBus or other backends. At the moment they're not on
> developer.gnome.org but one can see the libgudev docs at [1] (thanks Bastien
> Nocera).
>
> At [2] one sees g_udev_client_new() does specify UTF-8 is necessary. For the
> functions returning file paths though this isn't so clear [3] but the
> distinction is especially important.
>
> The code [4] reveals that the string is returned unchanged from a udev
> function [5]. Since the libudev (without the 'g') functions don't specify an
> encoding I'd normally presume, as with strtol() and such, that it's in the
> user's default encoding (of course assuming I've called setlocale(LC_ALL, ""))
>
> Then again libudev and systemd are under the seemingly-not-so-far
> FreeDesktop.org umbrella so maybe they tend to follow the same UTF-8-only
> practices.
>
> Is there some rule of thumb missing or misunderstanding on my part, or does
> this look like underspecification for which I should reach out to the authors?

udev escapes non-ASCII strings (such as in disk labels, device strings
and so on) in C-style. This all strings udev exports should generally
be UTF-8 (given that it is a superset of ASCII).

Or to say this differently: if there are non-UTF8 strings exported by
the udev db to apps we'd consider that a bug.

Lennart

--
Lennart Poettering, Berlin
_______________________________________________
gnome-devel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-devel-list

Reply via email to