diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-12-28 19:12:03 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-01-05 09:06:17 +0100 |
commit | 81d15be988f6d10251ad0e3ee84531fd20d3fe42 (patch) | |
tree | 718f4d6d9d62076f731e6398827d719501da4feb /unotools | |
parent | 7d4f929b7d57621cc94cc2c8cc19e2c2f5b80216 (diff) |
tdf#119367: use Unicode paths on Windows in unotools
Change-Id: I671c42c5dfe5acc8a6dd670694c07ff04f08c3e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108477
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 02eaea1f93b516e35d4583158f87b2222fdd2640)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108716
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'unotools')
-rw-r--r-- | unotools/source/i18n/resmgr.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx index 197816b21fc3..72c436232bb7 100644 --- a/unotools/source/i18n/resmgr.cxx +++ b/unotools/source/i18n/resmgr.cxx @@ -134,7 +134,14 @@ namespace Translate rtl::Bootstrap::expandMacros(uri); OUString path; osl::File::getSystemPathFromFileURL(uri, path); - OString sPath(OUStringToOString(path, osl_getThreadTextEncoding())); +#if defined _WIN32 + // add_messages_path is documented to treat path string in the *created* locale's encoding + // on Windows; creating an UTF-8 encoding, we're lucky to have Unicode path support here. + constexpr rtl_TextEncoding eEncoding = RTL_TEXTENCODING_UTF8; +#else + const rtl_TextEncoding eEncoding = osl_getThreadTextEncoding(); +#endif + OString sPath(OUStringToOString(path, eEncoding)); #endif gen.add_messages_path(sPath.getStr()); #if defined UNX && !defined MACOSX && !defined IOS && !defined ANDROID |