免费Pascal 3.2.0中的Unicode编码/解码错误

免费Pascal 3.2.0中的Unicode编码/解码错误,unicode,utf-8,freepascal,string-conversion,Unicode,Utf 8,Freepascal,String Conversion,该测试以免费Pascal 3.0.4通过。(源文件编码为UTF8,操作系统为Windows 10 64位) 使用免费的Pascal 3.2.0,它会失败: expected: <关于汉语> but was: <å³äºæ±è¯­> 应为:但为: RawByteString在system中声明为类型AnsiString(CP_NONE)。h如果使用UTF8String而不是RawByteString,是否存在相同的问题?和UnicodeString而不是string?请

该测试以免费Pascal 3.0.4通过。(源文件编码为UTF8,操作系统为Windows 10 64位)

使用免费的Pascal 3.2.0,它会失败:

expected: <关于汉语> but was: <å³äºæ±è¯­>
应为:但为:

RawByteString在system中声明为类型AnsiString(CP_NONE)。h

如果使用
UTF8String
而不是
RawByteString
,是否存在相同的问题?和
UnicodeString
而不是
string
?请记住,
string
在默认情况下仍然是ANSI,除非您将编译器置于Unicode模式。如果您删除
UTF8Encode
/
UTF8Decode
函数会怎么样?@RemyLebeau我会尝试一下(目前我没有多少时间),并在免费的Pascal bug tracker中创建一个问题,因为它在FPC 3.0.xd中工作。如果您使用
UTF8String
而不是
RawByteString
,您是否也会遇到同样的问题?和
UnicodeString
而不是
string
?请记住,
string
在默认情况下仍然是ANSI,除非您将编译器置于Unicode模式。如果您删除
UTF8Encode
/
UTF8Decode
函数会怎么样?@RemyLebeau我将尝试这个(目前我几乎没有时间),并在免费的Pascal bug tracker中创建一个问题,因为它在FPC 3.0.x中工作
expected: <关于汉语> but was: <å³äºæ±è¯­>