diff options
Diffstat (limited to 'crawl-ref/source/libunix.cc')
-rw-r--r-- | crawl-ref/source/libunix.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/crawl-ref/source/libunix.cc b/crawl-ref/source/libunix.cc index c4a64a779e..8667c24e29 100644 --- a/crawl-ref/source/libunix.cc +++ b/crawl-ref/source/libunix.cc @@ -216,10 +216,13 @@ static void termio_init() tcsetattr(0, TCSAFLUSH, &game_term); + crawl_state.unicode_ok = false; #ifdef UNICODE_GLYPHS - if ((crawl_state.unicode_ok = !!setlocale(LC_ALL, UNICODE_LOCALE))) + if (setlocale(LC_ALL, UNICODE_LOCALE) + && !strcmp(nl_langinfo(CODESET), "UTF-8")) { - crawl_state.glyph2strfn = unix_glyph2string; + crawl_state.unicode_ok = true; + crawl_state.glyph2strfn = unix_glyph2string; crawl_state.multibyte_strlen = unix_multibyte_strlen; } #endif |