diff --git a/src/core/recode.c b/src/core/recode.c index 95060e91..e073169e 100644 --- a/src/core/recode.c +++ b/src/core/recode.c @@ -25,8 +25,6 @@ #include "lib-config/iconfig.h" #include "misc.h" -#include - #ifdef HAVE_GLIB2 static gboolean recode_get_charset(const char **charset) { @@ -34,9 +32,7 @@ static gboolean recode_get_charset(const char **charset) if (**charset) /* we use the same test as in src/fe-text/term.c:123 */ return !g_strcasecmp(*charset, "utf-8"); - - /* we have to set LC_ALL to "" to get the charset of the user */ - setlocale(LC_ALL, ""); + return g_get_charset(charset); } #endif diff --git a/src/fe-text/irssi.c b/src/fe-text/irssi.c index 4064025b..3515fc57 100644 --- a/src/fe-text/irssi.c +++ b/src/fe-text/irssi.c @@ -362,6 +362,10 @@ int main(int argc, char **argv) of UTF-8 currently.. */ setlocale(LC_CTYPE, ""); + /* to get the users's charset with g_get_charset() properly you have + to call setlocale(LC_ALL, "") aswell */ + setlocale(LC_ALL, ""); + textui_init(); args_register(options); args_execute(argc, argv);