Если вы посмотрите справочное руководство GLib , вы найдете следующее:
G_OPTION_ARG_STRING the option takes a string argument.
G_OPTION_ARG_FILENAME the option takes a filename as argument.
Кодировка строк и имен файлов может отличаться, поэтому возможны два варианта.
Глиб использует UTF-8 для строк. Кодировка имен файлов зависит от операционной системы, но обычно это также UTF-8;
По умолчанию GLib предполагает, что имена файлов на диске находятся в кодировке UTF-8. Это допустимое предположение для файловых систем, которые были созданы сравнительно недавно: большинство приложений используют кодировку UTF-8 для своих строк, и это также то, что они используют для имен файлов, которые они создают. Однако старые файловые системы могут по-прежнему содержать имена файлов, созданные в «старых» кодировках, таких как ISO-8859-1.
Цитата также из справочного руководства GLib .