Originally the locale was C. If you go back to the C locale things
will be working for you as you wish it to work. It will work as it
worked before. Agreed?
Then you changed something. You changed the locale. You in your
environment set LANG=en_US.UTF-8 (or similar equivalent). That is
when you notice that sort doesn't work as you want it to work.
The only way to fix it is to fix it at the source of the problem. The
source is the locale collation sequence. Which is why I always set
this in my environment.
export LANG=en_US.UTF-8
export LC_COLLATE=C
But while that works for most western locales I have no idea how that
would interact with chinese big5 for example. Probably badly. So it
can't really be offered as a general solution to the problem. But if
you are using one of the set of western locales that it works for then
it does solve the problem for you.
Bob