If the ini-file is UTF8, IniRead/Write doesn't work correctly.
I remember this problem while I was creating
Radial menu application and
RM2module. UTF-8 support was a must for me, so I made this:
FileRead, Variables, %SkinDir%\Skin definition.txt
StringReplace, Variables, Variables, `r, ,all
Loop, parse, Variables, `n
{
Field := A_LoopField
if Field is space
Continue
while (SubStr(Field,1,1) = A_space or SubStr(Field,1,1) = A_Tab)
StringTrimLeft, Field, Field, 1
if (SubStr(Field, 1, 1) = ";")
Continue
While (SubStr(Field,0,1) = A_space or SubStr(Field,0,1) = A_Tab)
StringTrimRight, Field, Field, 1
EqualPos := InStr(Field, "=")
if (EqualPos = 0)
Continue
var := SubStr(Field, 1, EqualPos-1)
StringReplace, var, var, %A_Space%, ,all
StringReplace, var, var, %A_Tab%, ,all
if var is space
Continue
val := SubStr(Field, EqualPos+1)
while (SubStr(val,1,1) = A_space or SubStr(val,1,1) = A_Tab)
StringTrimLeft, val, val, 1
if val is space
val =
%var% := val
}