It is required on systems which dont have UTF-8 locales, or whose UTF-8 locales are unreasonably slow. It gives support for the wchar_t and wint_t types, the mbs and wcs functions from stdlib.h, setlocale and still gives support for old 8-bit locales and Unicode UTF-8 locales.