I had the same issue on PopOS and Arch Linux. I tried several solutions from different places, but the only solution that helped me was the proposal from romkatv on the oh-my-zsh github repository.
The solution is to make a copy of the .zsh-theme file of any theme that you use in oh-my-zsh and surround all non-ASCII characters (e.g. emoticons) with %{%G<CHARACTER>%}
For example, the standard oh-my-zsh robbyrussel contains 2 non-ASCII characters. The โ symbol in the invitation
PROMPT="%(?:%{$fg_bold[green]%}โ :%{$fg_bold[red]%}โ )"
and the symbol 'โ' in the git directories prompt
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}โ"
Using %{%G<character>%} around two non-ASCII characters like this
PROMPT="%(?:%{$fg_bold[green]%}โ :%{$fg_bold[red]%}%{%Gโ%} )"
and this
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%{%Gโ%}"
solved the problem for me.
source share