On Windows, functions like fopen/opendir/stat all only accept filenames in the current active codepage, which excludes opening files with characters outside of that codepage (e.g. Chinese and Cyrillic characters for a Windows/English setup).
Some aspects (like directory scanning) can be easily solved by using GLib and passing UTF-8 encoded filenames on Windows. Other aspects are less easily solved, as most function calls involving files are spread out, and most assume u2def (Unicode to default character encoding) is sufficient when it is not (on Windows - 99.9% of the time the default charset is 8859-1).
To be fixed:
Anything else from https://developer.gnome.org/glib/stable/glib-File-Utilities.html
On Windows, functions like fopen/opendir/stat all only accept filenames in the current active codepage, which excludes opening files with characters outside of that codepage (e.g. Chinese and Cyrillic characters for a Windows/English setup).
Some aspects (like directory scanning) can be easily solved by using GLib and passing UTF-8 encoded filenames on Windows. Other aspects are less easily solved, as most function calls involving files are spread out, and most assume
u2def(Unicode to default character encoding) is sufficient when it is not (on Windows - 99.9% of the time the default charset is 8859-1).To be fixed:
freopen(not used)u2def-->u2fsys/def2u-->fsys2uas necessaryAnything else from https://developer.gnome.org/glib/stable/glib-File-Utilities.html