Unicode characters with code >=$10000 are not properly converted to UTF8 (anyway old Delphi) UTF16 this codes has two surrogates. Need do uncomment UnicodeToUtf8..Utf8ToAnsi and add this handling I attach SynUnicode.patch.zip
L := Utf8ToUnicode(PWideChar(Temp), Length(Temp)+1, PAnsiChar(S), Length(S)); if L > 0 then SetLength(Temp, L)
instead SetLength(Temp, L-1)
Log in to post a comment.
Unicode characters with code >=$10000 are not properly converted to UTF8 (anyway old Delphi)
UTF16 this codes has two surrogates.
Need do uncomment UnicodeToUtf8..Utf8ToAnsi and add this handling
I attach SynUnicode.patch.zip
Last edit: borneq 2014-03-11
L := Utf8ToUnicode(PWideChar(Temp), Length(Temp)+1, PAnsiChar(S), Length(S));
if L > 0 then
SetLength(Temp, L)
instead SetLength(Temp, L-1)