POSIX [1] specifies that the recognition of characters in 'tr' depends on the environment variables LANG, etc.
But trying to replace a multibyte character by another character does not work: $ echo $LANG de_DE.UTF-8 $ enspace=`printf '\u2002'` $ echo -n "X${enspace}Y" | tr "${enspace}" ' ' | od -t x1 0000000 58 20 20 20 59 0000005 Expected output would be: $ echo -n "X${enspace}Y" | tr "${enspace}" ' ' | od -t x1 0000000 58 20 59 0000003 With 'sed' it works: $ echo -n "X${enspace}Y" | sed -e "s/${enspace}/ /g" | od -t x1 0000000 58 20 59 0000003 Bruno [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/tr.html