![]() |
idTcpServer и idTcpClient не корректное отображения русских букв.
Здравствуйте уважаемые форумчане!
Писал сетевую программу используя idTcpServer и idTcpClient и заметил что за место русских букв отображаются вопросительные знаки. Передаю например строку вот так: IdTCPClient1 .Socket .WriteLn('привет 123 hello'); Получаю вот так: edit1.text :=AContext .Connection .Socket .ReadLn ; В edit1 в итоге ???123 hello. И так с любыми русскими символами. Уже программу практически написал и тут такой косяк, помогите!! |
используйте ansistring
|
Где этот тип переменных использовать? Я вроде на прием и передачу делал.
К примеру вот простейший клиент сервер: Код:
unit Unit5; |
В Delphi, начиная с 2009 версии тип String = UnicodeString.
Indy, к сожалению, пока не умеет работать со строками Unicode, зато прекрасно работает со строками AnsiString. Что бы получить желаемый Вами результат в коде (как на стороне клиента, так и на стороне сервера) необходимо явно указать кодовую станицу компонентам Indy при передаче/приеме строк. Т.е. вместо: ... ReadLn; WriteLn(S); ... нужно писать: ... ReadLn(TEncoding.ANSI); WriteLn(S, TEncoding.ANSI); ... |
Время: 13:59. |
Время: 13:59.
© OSzone.net 2001-