掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TIdMultiPartFormDataStreamを使ってSHIFTJISでサーバーにPOSTする際に文字化けしないようにするには (ID:41513)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
X-RAYさんこんにちは、コメントありがとうございます。 X-RAYさんのHP、ちょくちょく拝見させて参考にさせて頂いております。 今回の件ですが、 var DataStream : TIdMultiPartFormDataStream; Comment : string; ContentType : string; begin DataStream := TIdMultiPartFormDataStream.Create; try Comment:=Edit1.text; IdHTTP1.Request.CharSet := 'Shift_JIS'; DataStream.AddFile('UpdataFiles', ファイル名1, ContentType); DataStream.AddFormField('comment' , Comment , 'Shift_JIS'); IdHTTP1.Post(UPLoadURLPage, DataStream); finally DataStream.Free; end; end; とした時に、Commentが文字化けしちゃうんです。 仮にコメントを「かります」として送信したとすると、 相手先のアップローダー上では「=82=A9=82=E8=82=DC=82=B7」などと表示されてしまいます。 ここでIdHttp1に自動でエンコードさせないようにすると 当然Unicodeのままなのでこれも文字化けしてしまいます。 アップローダーはsn uploaderというものを使っているようです http://sugachan.dip.jp/obsolete/snup/ 参考までにsn uploaderを使ったアップローダーの例 http://imas.ath.cx/~imas/cgi-bin/pages.html ファイル名の文字化けはIdMultiPartFormStreamのAddFileが ファイル名にstring型の引数を取るためこれをAnsiString型の引数で 受けとるようにソースを書き換えないといけないのでしょうか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.