Don't convert the result of g_get_user_name / g_get_real_name from locale to utf-8 on Windows. They return utf-8 already.
Use the right API to get the path to Roaming AppData and Downloads directories, and actually convert it to utf-8 instead of using it directly.