These days I would just do this:
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
There is no longer any reason to worry about ancient hosts where setting
LC_ALL=C produced diagnostics. These hosts died many years ago.
The LANGUAGE=C business is needed to avoid problems with glibc versions
that predate this change to glibc:
2001-01-02 Ulrich Drepper <[EMAIL PROTECTED]>
* intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE
value is ignored if the selected locale is the C locale.
I suppose there are still a few hosts where that's an issue, so we
might as well still cater to them.
We shouldn't need to worry about setting the other LC_* variables, or
LANG; LC_ALL should override their settings.