PIVX didn't work on unicode paths under windows


#1

Hello,

On windows when username contains unicode symbols the PIVX crashed.
In general it caused by using char for path strings instead of wchar_t.

There are several points when it happen

  1. Using A functions instead W in util.cpp
    like SHGetSpecialFolderPathA instead of SHGetSpecialFolderPathW
    in boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate)

  2. using string() function of the
    boost::filesystem::path
    instead of wstring() for paths operations

  3. using boost::file_lock (it can be fixed with providing shortname of lock file)

  4. using boost::directory_iterator that internally work with chars instead of wchar_t