One of the issues that had bothered my in CppCMS on Windows, was actually absence of full support of Unicode file-names.
It is known, that standard library functions like
std::fstream are not capable of
using UTF-8 encoded file names, like they are on all "normal" operating systems.
So in order to deal with such issues in transparent way, I added
that makes this conversion transparent. All functions in
booster::nowide use UTF-8 encoded
strings and convert then internally to wide strings for brain-damaged Win32 Wide API.
I also had created an implementation of
std::fstream over stdio,
especially for thous windows compilers that do not "extend" their standard libraries
with non-standard wide-crap.
So, now CppCMS in fully Unicode capable over Win32. So if you use CppCMS with Windows, please note that all pathes are represented as UTF-8 strings and not "ANSI" one.
When Windows will finally enable UTF-8 locales? Maybe in Windows 15 (if it survive till then).
If you interested why do I hate "wide" API so much, read this.
You can download independent version of "nowide" library there: