diff --git a/src/import-export/ofx/gnc-ofx-import.c b/src/import-export/ofx/gnc-ofx-import.c index 9454078305..d04c16e534 100644 --- a/src/import-export/ofx/gnc-ofx-import.c +++ b/src/import-export/ofx/gnc-ofx-import.c @@ -636,7 +636,7 @@ void gnc_file_ofx_import (void) extern int ofx_ERROR_msg; extern int ofx_INFO_msg; extern int ofx_STATUS_msg; - const char *selected_filename; + char *selected_filename; char *default_dir; LibofxContextPtr libofx_context = libofx_get_new_context(); @@ -658,6 +658,10 @@ void gnc_file_ofx_import (void) if(selected_filename!=NULL) { +#ifdef G_OS_WIN32 + gchar *conv_name; +#endif + /* Remember the directory as the default. */ default_dir = g_path_get_dirname(selected_filename); gnc_set_default_directory(GCONF_SECTION, default_dir); @@ -677,9 +681,15 @@ void gnc_file_ofx_import (void) ofx_set_security_cb(libofx_context, ofx_proc_security_cb, 0); /*ofx_set_status_cb(libofx_context, ofx_proc_status_cb, 0);*/ +#ifdef G_OS_WIN32 + conv_name = g_win32_locale_filename_from_utf8(selected_filename); + g_free(selected_filename); + selected_filename = conv_name; +#endif DEBUG("Opening selected file"); - libofx_proc_file(libofx_context, selected_filename, AUTODETECT); + libofx_proc_file(libofx_context, selected_filename, AUTODETECT); + g_free(selected_filename); } }