summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/libunix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/libunix.cc')
-rw-r--r--crawl-ref/source/libunix.cc7
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