In particular, with the GNU library on non-Linux systems, do not rely on anything more than token support for locales: ie. the classic locale ("C"), the posix locale ("POSIX") and the default locale ("").
Ideally, on Windows, either use the Microsoft implementation or use Boost.Locale in conjunction with ICU.