Home  /  RSS  /  RSS Comments  /  Enter

Surviving Windows Development

6/13/10, by artyom ; Posted in: Unicode and Localization; 0 comments

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 fopen or 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 booster::nowide library 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:

Add Comment:

 the email would not displayed

You can write your messages using Markdown syntax.

You must enable JavaScript in order to post comments.