从 php 脚本返回的字符串被编码。
我在 delphi 2007 和 Indy 10.6 中针对 php 脚本的 http 帖子有问题。php 脚本包含: header ("Content-Type: application / json; charset = UTF-8"); 德尔福部分是这样的:
data: = TStringList.Create;
dati.Values ['id']: = '6';
dati.Values ['name']: = 'àèìòù';
lParams: = TIdMultiPartFormDataStream.Create;
cont: = 0;
try
try
url: = 'someurl';
while cont <= data.Count-1 do
begin
lParams.AddFormField (data.Names [cont], data.Values [data.Names [cont]]);
Inc (cont);
end;
Response: = IdHTTP1.Post (url, lParams);
except
on E: Exception do
Response: = E.ClassName + ':' + E.Message;
end;
finally
lParams.Free;
IdHTTP1.Disconnect;
end;
Result: = Response;
响应包含应保存在 mysql 数据库中的内容,其 varchar 字段在字段和 php 回显中都声明为 utf8-general-i,但是,它们返回:= E0 = E8 = EC = F2 = F9
我尝试使用 UTF8Encode (dati.Values [data.Names [cont]]) 进行编码,我尝试将 UTF-8 字符集传递给 AddFormField,但从未返回字符串 àèìòù。
我究竟做错了什么?
宝慕林4294392