读书人

用IdTCPServer和TIdTCPClient时出现中

发布时间: 2012-04-06 12:22:24 作者: rapoo

用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));

读书人网 >C++ Builder

热点推荐