You can call a function like the following to create a shell that supports utf-8:
(defun utf8-shell () "Create Shell that supports UTF-8." (interactive) (set-default-coding-systems 'utf-8) (shell))
This sets both input and output in UTF-8, so you can do (for example) the following:
~ $ echo "β" β
If you want the shell to always open with utf-8 support, you can do the following:
(defadvice shell (before advice-utf-shell activate) (set-default-coding-systems 'utf-8)) (ad-activate 'shell)
source share