Nix zsh won't print UTF-8, but system zsh will

On a Ubuntu VM installed with OrbStack on my Mac M1, I noticed that when I run /usr/bin/zsh -c "echo -e '\u279c'", it correctly outputs an arrow (➜). But when I run the same command with nix-shell -p zsh --command zsh ..., I get the error zsh: character not in range.

Interestingly, if I paste the arrow character directly in place of the the escape code, the command works fine - it’s only the escape code that produces the error.

I tried executing /nix/store/…/bin/zsh directly instead of through nix-shell, and got the same problem. I printed out locale this way and it was identical to /usr/bin/zsh -c locale.

The issue seems to mostly go away by running export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive before I call zsh per the wiki entry. However, zsh in tmux still produces the error. Nope, everything is working fine - I was just connected to a stale tmux server and needed to reload the config.