掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IdTCPClient/IdTCPServerの文字化けについて (ID:148468)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
今回初めてIndyを使ってみました。 (今まで、Delphi5の時代ではScktCompでchatを使ってみたりしてました) 「ソケットライブラリのIndyを利用したクリップボード共有ソフト」 https://codezine.jp/article/detail/197 を参考に、 単純な送受信アプリを作ってみたのですが、日本語が文字化けが発生しました。 動作環境は、クライアント、サーバー共にWindows10Pro64bitです。 (将来はクライアントをandroidに、と思ってます) 開発は、Delphi 10.3.3 Community Edition Indy:10.6.2.5366 です。 [クライアント] procedure TForm1.Button1Click(Sender: TObject); begin IdTCPClient1.IOHandler.Write((Edit1.Text)+#13#10); end; [クライアントスレッド] procedure TTcpListenerThread.Execute; var Bytes: TIdBytes; RecvData: string; begin while not Terminated do begin if not Form1.IdTCPClient1.Connected then begin Terminate; Continue; end; RecvData := Form1.IdTCPClient1.IOHandler.ReadLn(#13#10); // Synchronize(SyncPrint); Form1.Memo1.Lines.Add(RecvData); end; end; [サーバー側] procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var S: String; Bytes: TIdBytes; begin S := AContext.Connection.IOHandler.ReadLn(#13#10); Memo1.Lines.Add(S); AContext.Connection.IOHandler.Write(S+#13#10); end; Edit1.Textに日本語を設定してみたのですが文字化けしてしまいます。 色々、ググって探しているのですが、結果が得られません。 「Delphi 素朴なソケット通信をしたい - Qiita」(https://qiita.com/himajin_sekky/items/ffd5c5c854328287ed2d )や、 UDPの文字化け対策をこの掲示板で拝見し、TEncodingを使ってみたり試行錯誤してみたのですが、解決しませんでした。 Indyの決まり事を私が知らないだけのような気がします。 勉強不足で申し訳ございません。 よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.