diff --git a/libxslt/xsltlocale.c b/libxslt/xsltlocale.c index aa38ccf7..80a834ab 100644 --- a/libxslt/xsltlocale.c +++ b/libxslt/xsltlocale.c @@ -143,7 +143,7 @@ xsltNewLocale(const xmlChar *languageTag, int lowerFirst ATTRIBUTE_UNUSED) { return(NULL); memcpy(q, ".UTF-8", 7); - locale = newlocale(LC_COLLATE_MASK, localeName, NULL); + locale = newlocale(LC_COLLATE_MASK|LC_CTYPE_MASK, localeName, NULL); if (locale != NULL) return(locale); @@ -155,7 +155,7 @@ xsltNewLocale(const xmlChar *languageTag, int lowerFirst ATTRIBUTE_UNUSED) { /* Try locale without territory, e.g. for Esperanto (eo) */ memcpy(q, ".UTF-8", 7); - locale = newlocale(LC_COLLATE_MASK, localeName, NULL); + locale = newlocale(LC_COLLATE_MASK|LC_CTYPE_MASK, localeName, NULL); if (locale != NULL) return(locale); @@ -173,7 +173,7 @@ xsltNewLocale(const xmlChar *languageTag, int lowerFirst ATTRIBUTE_UNUSED) { *q++ = region[0]; *q++ = region[1]; memcpy(q, ".UTF-8", 7); - locale = newlocale(LC_COLLATE_MASK, localeName, NULL); + locale = newlocale(LC_COLLATE_MASK|LC_CTYPE_MASK, localeName, NULL); return(locale); #endif