用IdTCPServer和TIdTCPClient时出现中文乱码?解决思路

用IdTCPServer和TIdTCPClient时出现中文乱码?
在网上看到一个IdTCPServer和TIdTCPClient的例子,用XE2做了下,发现出现中文乱码,而别人用以前的版本似乎没有这个问题,不知何故?



C/C++ code

IdTCPServer:
AContext->Connection->IOHandler->WriteLn("100: 欢迎连接到简单TCP服务器!");
AContext->Connection->IOHandler->WriteLn("200: 数据接收成功!");
AContext->Connection->IOHandler->WriteLn("500: 无法识别的命令!");
TIdTCPClient:
lstRecord->Items->Add(IdTCPClient1->IOHandler->ReadLn());


数字和字母没有问题,只要是中文全是乱码

------解决方案--------------------
发送和接收的时候指定字符集就可以了。如:

服务端:
AContext->Connection->IOHandler->WriteLn("100: 欢迎连接到简单TCP服务器!", TEncoding::UTF8);

客户端:
lstRecord->Items->Add(IdTCPClient1->IOHandler->ReadLn(TEncoding::UTF8));