Hi, the following program: >snip #include <iterator> // for back_inserter #include <locale> #include <string> #include <algorithm> #include <iostream> #include <cctype> // old <ctype.h> struct ToUpper { ToUpper(std::locale const& l) : loc(l) {;} char operator() (char c) const { return std::toupper(c,loc); } private: std::locale const& loc; }; int main () { std::locale loc("de_DE"); std::string s("Some Kind Of Initial Input Goes Here with a German 'ä'"); ToUpper up(loc); // Change everything into upper case. std::transform(s.begin(), s.end(), s.begin(), up); std::cout << "s:" << s << std::endl; } >snip runs fine on linux but not at HPUX(gcc version 3.2.3, B.11.11 U 9000/800). At HPUX the German 'ä' is not changed to an upper 'Ä'. I tried with other locale names too, like "de", "de_DE.iso88591". How can I determine which locales are available and named under HPUX ? Thomas --