Unicode Strings in ini-Files
Write an Unicode String to an ini-File using WritePrivateProfileString
Web Form Builder
Software for Beginner and Professionals
Learn more Trial version available!
check Design forms using a visual environment
check Form and design templates included
check Generated PHP script runs on your own website
If you try to write an unicode string like e.g. "日本人"
to an ini-file then you will notice that the function WritePrivateProfileString
fails.
The solution is to create the ini-file with the encoding
UTF-16LE before writing an unicode string to it.
Please note: You need to create the file before
writing to it the first time (only once).
Sample Sourcecode:
CString inifile=L"c:\\temp\sample.ini";
FILE
*stream = NULL;
// make sure the file does
not already exist
if (_wfopen_s (&stream,inifile,L"r") ==
ENOENT)
{
// create
file with encoding UTF-16LE
if (_wfopen_s (&stream,inifile,L"w,
ccs=UTF-16LE") == 0)
{
// optional: add some text e.g.
fputws (L"// UNICODE INI FILE\n",stream);
}
}
if (stream != NULL) fclose (stream);
// write unicode string to ini-file
WritePrivateProfileString(L"SAMPLEKEY",L"SAMPLEVALUE",L"日本人",inifile);