這種問題的本質其實就是字元編碼問題,只要統一下客戶端和伺服器的字元編碼就行。
網上的解決辦法一種就是用base64編碼後傳送,然後另一端解碼。
另一種就是在readln和writeln時統一編碼格式。如這裡回答的:
[delphi]view plain
copy
//客戶端寫,讀類似
idtcpclient1.
iohandler
.writeln(「***xx」,tencoding
.utf8);
//伺服器讀,寫類似
str := acontext.
connection
.iohandler
.readln(tencoding
.utf8);
這裡提供另外一種方式:
其實只要一開始設定下iohanger的defstringencoding屬性就行了。
[delphi]view plain
copy
uses
idglobal; //注意要引用這個
//客戶端初始化時設定defstringencoding
idtcpclient1.
iohandler
.defstringencoding := indytextencoding_utf8();
//伺服器在connect事件中加上
procedure
tmyserverform
.idtcpserver1connect(acontext: tidcontext);
begin
acontext.
connection
.iohandler
.defstringencoding := indytextencoding_utf8();
end;
這裡的tencoding和indytextencoding不用太在意,試試就知道用哪個了。
包括defstringencoding屬性在哪可能也會由於版本和vcl還是fmx而不同。
反正自己試試吧哈哈。
python連線MySQL時,中文亂碼解決方案
在我們用python連線mysql資料庫時,倘若我們要把一串中文匯入到資料庫的表裡面,通常會出現匯入失敗或亂碼現象,下面提供幾個解決方案 一 syntaxerror non ascii character xe6 in file py on line 6,but no encoding declar...
解決Python傳送Http請求時,中文亂碼的問題
解決方法 先encode再quote。原理 msg.encode utf 8 是解決中文亂碼問題。quote 假如url的 name 或者 value 值中有 或者 等符號,就會有問題。所以url中的引數字串也需要把 等符號進行編碼,quote 就是對引數字串中的 等符號進行編碼。例子 coding...
解決GET請求時中文亂碼的問題
之前專案中的web.xml中的編碼設定 filter filter name characterencoding filter name filter class org.springframework.web.filter.characterencodingfilter filter class ...