ToUpper() for characters other than codepage 1252


I’d like to know whether there’s a way currently to make ToUpper() work for languages other than supported by codepage 1252 (Russian, Turkish, Greek, etc)? Aside from writing your own ToUpper function.

There is not support for this kind of ToUpper or ToLower functionality exposed in the engine at the moment. I’m sure ICU, which the engine integrates with, should be able to do this. It’s just a matter of exposing it accordingly.

If you want to tinker, I would start by looking at the ICUText.cpp/h.

Hello. We are running into the same issue. Is there any progress to have the international ToUpper() support in the latest version? We are on 4.11 and can integrate 4.12 changes.

Call this function before game starts and ToUpper() will work correctly:

#include locale

void SetGlobalLocale(const FString aLocale)

Add the symbols “<” and “>” around the “locale” word in include.

Here are examples of valid locales:

"en-US" "ru-ru" "fr-fr" "es-es" "de-de" "zh-cn"