解決傳送字元時,中文亂碼現象

2021-08-14 10:35:08 字數 1083 閱讀 8190

這種問題的本質其實就是字元編碼問題,只要統一下客戶端和伺服器的字元編碼就行。

網上的解決辦法一種就是用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 ...