I just used the upper(text) function on a database which is utf8 encoded and which has spanish text.
All of the regular characters were properly converted, except for characters which had accents.
pgsql-admin by date:
Соглашаюсь с условиями обработки персональных данных