前提・実現したいこと
Delphi10.3で作ったjsonデータをphpにPOSTして、内容を確認してみると
文字化けしてしまいます。
発生している問題・エラーメッセージ
phpに投げたデータ {"id":"1","name":"赤川太郎"} phpのechoで帰ってきたデータ {"id":"1","name":"????"}
該当のソースコード
Delphi
1Delphiのコード 2 JO:=TJsonObject.Create; 3 SL:=TStringList.Create; 4 5 JO.AddPair('id','1'); 6 JO.AddPair('name','赤川次郎'); 7 SL.Text := AnsiToUtf8(JO.toString); 8 9 Memo1.Lines.Add(SL.Text); 10 11 http := TIdHttp.Create(nil); 12 http.HandleRedirects := true; 13 http.ReadTimeout := 5000; 14 http.Request.ContentEncoding := 'utf-8'; 15 http.Request.ContentType := 'application/json'; 16 http.Request.Accept := 'application/json'; 17 http.HTTPOptions := HTTP.HTTPOptions - [hoForceEncodeParams]; 18 SS := http.Post('phpソースのアドレス',SL); 19 20 Memo1.Lines.Add(SS); 21 22 JO.Free; 23 SL.Free; 24 25phpのコード 26phpでは、渡されたデータを確認したいだけだったので、単純にデータを返しています。 27<?php 28 header("Content-Type: text/html; charset=UTF-8"); 29 $json_string = file_get_contents("php://input"); 30 echo $json_string; 31?> 32
試したこと
エンコードがうまくいっていないと思い、AnsiToUtf8でキャストしてみたが、うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー