[delphi-users:5154] TIdHTTPでの文字化けについて

27 views
Skip to first unread message

tsuchi

unread,
May 4, 2019, 3:43:13 AM5/4/19
to delphi...@freeml.com
土屋といいます。

MR.XRAYさんのサイトにある
775_TIdHTTP を使用して指定 URL にデータを送る
を実験しようとしたら、正常にエンコードできていないのか,
文字化けしてしまいます。
開発マシンは WIN10+DELPHI10.3.2
アクセスしているサーバーはubuntu18.04 apache2 php7 という環境です。
解決方法や、参照先等を教えていただけると嬉しいです。
よろしくお願いします。



MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
スマホアプリ版で100万ダウンロード突破の
「キャプテン翼ZERO~決めろ!ミラクルシュート~」
HTML5ゲームプラットフォーム「ゲソてん byGMO」にて、
PCブラウザ版を好評配信中!
https://gesoten.com/games/genre/sports/tsubasa-zero
------------------------------------------------------[freeml byGMO]--

あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------

OE

unread,
May 15, 2019, 1:19:24 AM5/15/19
to delphi...@freeml.com
こんにちは。
OEといいます。

日が経っているので解決済みかとは思いますが、
このサンプルに興味があったので試してみた結果を
共有しておきます。

◆検証環境
・CentOS Linux release 7.5.1804 (Core)
・Apache/2.4.6 (CentOS)
・PHP 5.4.16-46.el7
・「775_TIdHTTP を使用して指定 URL にデータを送る」の
 「01_POST」の[POST]をクリックした場合にて。

◆結果
正しい結果は
| HTTP/1.1 200 OK
| [ 日本 太郎 ] 様から次のデータを受取りました.
|  趣味 : 音楽鑑賞
でした。

「日本 太郎」の部分が文字化けする場合は、
Apacheに置いたphpファイルの文字コードを
SHIFT_JISにしたら直ります。

「様から次のデータを…」の部分が文字化けする場合は、
ソースコードの「//自動でエンコードしないようにする」
の次のコードをコメントアウトしたら直ります。


以上、参考になりましたら幸いです。

tsuchi

unread,
May 16, 2019, 9:31:54 PM5/16/19
to delphi...@freeml.com
OEさん、ありがとうございます。

前の記事の投稿後、Mr.XRAYさんの該当ページを見ると、エンコード関係の記事が追加されていました。
私が見落としていただけかもしれません。

List3の
---------------------------------------------------------------------
// コードページの指定をして TStringStream のインスタンスを生成
ResStream := TStringStream.Create('', TEncoding.UTF8);

// UTF-8 の時は自動エンコードの指定は有効
// このコートがない場合は自動エンコード指定と同じ
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions + [hoForceEncodeParams];
----------------------------------------------------------------------

手持ちのサーバーがUTF8なので、この部分を参考に修正すると正常に表示されるようになりました。

ご報告まで。
Reply all
Reply to author
Forward
0 new messages