diff options
Diffstat (limited to 'src/core/recode.c')
-rw-r--r-- | src/core/recode.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/recode.c b/src/core/recode.c index 70768645..28a32bd5 100644 --- a/src/core/recode.c +++ b/src/core/recode.c @@ -117,18 +117,17 @@ char *recode_in(const SERVER_REC *server, const char *str, const char *target) autodetect = settings_get_bool("recode_autodetect_utf8"); term_is_utf8 = recode_get_charset(&to); + if (translit && !is_translit(to)) + to = translit_to = g_strconcat(to, "//TRANSLIT", NULL); + if (autodetect && str_is_utf8) if (term_is_utf8) return g_strdup(str); else from = "UTF-8"; - else { + else from = find_conversion(server, target); - } - - if (translit && !is_translit(to)) - to = translit_to = g_strconcat(to, "//TRANSLIT", NULL); if (from) recoded = g_convert_with_fallback(str, len, to, from, NULL, NULL, NULL, NULL); |