1
# .tmux.conf
set -g status-utf8 on
setw -g utf8 on

Yet, still when I enter the scandinavian charaters æ, ø and å in the terminal window, I get the following output:

<00c3><00a6><00c3><00b8><00c3><00a5>

I'm using Iterm2 as my terminal, and the characters are printed correctly outside of tmux.

nicohvi
  • 2,270
  • 2
  • 28
  • 42

1 Answers1

1

Are you using zsh? I was able to get it to produce a result like that (inside and outside tmux) by setting LC_CTYPE to en_US.US-ASCII while actually sending UTF-8 (i.e. lying to zsh (and other locale-sensitive programs) about what character set to expect).

Check that LC_ALL, LC_CTYPE, and/or LANG have an appropriate values inside your tmux session; you probably want to use a consistent value that ends with .UTF-8. You can use locale to view the active values and locale -a to list the available values.

You may also need to reset the errant variable(s) in your tmux global and/or sessions environments (so that new sessions/windows/panes do not keep getting the bad values). You can inspect the tmux global environment with

tmux show-environment -g | grep -E 'LC|LANG'

Adjust its values with (e.g.) tmux set-environment -g LANG "$your_value".

Each session can also override environment variables (for new windows and panes created in that session). You can inspect a session’s environment with

tmux show-environment -t "$session_name" | grep -E 'LC|LANG'

You can unset session environment values with (e.g.) tmux set-environment -t "$session_name" -u LANG (so that the global value will be used for new windows/panes), or adjust session values with tmux set-environment -t "$session_name" LANG "$your_value".

Or, if you do not have any important sessions, you could just restart the tmux server with a set of known-good locale environment variable values.

Chris Johnsen
  • 214,407
  • 26
  • 209
  • 186