困了一周了,用盡了網上可以搜到的辦法,通通都試過了,原來在D7上用的,一切正常,到了XE8上死活不行,回傳的中文都是“??????????????????0????????1?????2????”這樣的,誰可以幫幫我!!
uj5u.com熱心網友回復:
xe8下代碼怎么寫的uj5u.com熱心網友回復:
用UT8Decode解碼試試呢?uj5u.com熱心網友回復:
用過UTF8Decode,UTF8ToAnsi,還有uj5u.com熱心網友回復:
t:=TStringStream.Create('',tencoding.UTF8);
idhttp1.Post(SvrUrl+postUrl,ts,t);
Result:=Utf8ToAnsi(t.DataString);或Result:=Utf8Decode(t.DataString);
或者
t:=TStringStream.Create('',tencoding.ANSI);
idhttp1.Post(SvrUrl+postUrl,ts,t);
Result:=t.DataString;都不行,
確定網站回傳的是UTF8的,在Delphi7下也是用IDHttp回傳是正常的
uj5u.com熱心網友回復:
url能否發上來uj5u.com熱心網友回復:
http://app.25hours.cc:6077/webservice/25hours.asmx/StruUpPost:data=https://bbs.csdn.net/topics/{"ShopID":1,"SyncVer":200}
我自己的服務器
uj5u.com熱心網友回復:
procedure TForm1.Button1Click(Sender: TObject);
var
T: TStringStream;
ts: TStringList;
SvrUrl, postUrl: string;
begin
SvrUrl := 'http://app.25hours.cc:6077/webservice/25hours.asmx/StruUp';
postUrl := '';
ts := TStringList.Create;
ts.Text := 'data=https://bbs.csdn.net/topics/{"ShopID":1,"SyncVer":200}';
T := TStringStream.Create('', tencoding.UTF8);
IdHTTP1.Post(SvrUrl + postUrl, ts, T);
Memo1.Text := T.DataString;
end;
經過測驗,沒有亂碼
{"error":0,"msg":"表結構升級獲取成功!","Count":247,"Stru":[{"ID":201,"SqlStr":"CASE"},{"ID":202,".......
uj5u.com熱心網友回復:
參考:IdURI;
使用:
TidURI.URLDecode(MyHttp.Get(TIdURI.URLEncode(uploadstr)));
uj5u.com熱心網友回復:
按照7樓所說,沒有亂碼的話。問題可能出在你的作業系統上。請換臺機子,或重裝 系統試試。uj5u.com熱心網友回復:
別外漢字輸入法的故障,也會出現類似的問題。uj5u.com熱心網友回復:
按照7樓說 會不會是樓主的XE8的專案設定有什么需要更改的? 我也遇到相同問題了 請大神解答 另外 樓主有什么進展么?uj5u.com熱心網友回復:
找到解決方法了,使用tstringstream作為回傳型別,部分代碼參考:responsejson: tstringstream;
responsejson := tstringstream.Create('', 65001);
http.post(URL ,StringList , responsejson);
Memo1.Lines.Add(responsejson.DataString);
responsejson.DataString里面的中文不是亂碼了!
解決方法參考自http://blog.sina.com.cn/s/blog_549f50ec01019cgc.html。
uj5u.com熱心網友回復:
親測有用!
uj5u.com熱心網友回復:
這么說,應該是傳回的資料型別是流了。uj5u.com熱心網友回復:
之前也找了很多方法,中文用AnsiString,WideString轉都不行。后來測驗:
delphi7 中中文用 UTF8Encode(inValue);
java中用URLDecoder.decode(inValue, "utf-8");
可以
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/50821.html
標籤:語言基礎/算法/系統設計
上一篇:能不能把“結構檔案”當作變數傳遞到procedure中去
下一篇:delphi dll表單呼叫
