There are already questions regarding unicode and ini files, but many of them are rather domain-specific. So I am not sure if the answer can be applied to the general case.
The problem is not really with the use of ini
files but with the functions you'll use to read from and write to those files.
As you noticed, WritePrivateProfileStringW()
will not write UNICODE
data to the file. Instead, it will use whatever multi-byte encoding is standard on the system. That means that ini
files created on a Japanese system won't be readable on a Russian system. The reverse is also true.
If the files are not intended to be shared by systems with different encodings, you'll be fine. Otherwise, maybe you shouldn't use ini
files but a more UNICODE
-aware technology, like e.g. XML, whose encoding defaults to UTF-8
on all platforms.