掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Postパラメータが文字化けしてしまう (ID:41019)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi6で作成したCGIをUnicode文字に対応させるために Delphi2010で作り直そうとしています。 問題点としてPostパラメータを受け取る際に文字化けしてしまいます。 Getパラメータはうまく受け取れたのですが・・・ Postパラメータを文字化けしないで受け取る方法のご教授をお願いします。 procedure GetParam(var ParamList: TStringList); var Param: string; EPos: Integer; ContentLength: Integer; readn: DWORD; TmpParam: string; CumulativeRead: DWORD; Loop: Integer; begin try GetEnvironmentVariable(PChar('REQUEST_METHOD'), FENV, Sizeof(FENV)); Param := ''; if FENV = 'GET' then begin FENV := ''; GetEnvironmentVariable(PChar('QUERY_STRING'), FENV, Sizeof(FENV)); Param := FENV; FENV := ''; end else if FENV = 'POST' then begin FENV := ''; GetEnvironmentVariable(PChar('CONTENT_LENGTH'), FENV, Sizeof(FENV)); ContentLength := StrToInt(FENV); FENV := ''; SetLength(Param, ContentLength); if ContentLength > 0 then begin ReadFile(STD_INPUT_HANDLE, Param[1], ContentLength, readn, nil); end; CumulativeRead := readn; Loop := 0; while CumulativeRead < ContentLength do begin ReadFile(STD_INPUT_HANDLE, Param[CumulativeRead + 1], ContentLength - CumulativeRead, readn, nil); CumulativeRead := CumulativeRead + readn; Inc(Loop); if Loop >= 1000 then begin Break; end; end; end; if Param <> '' then begin while Pos('&', Param) > 0 do begin EPos := Pos('&', Param); TmpParam := Copy(Param, 1, EPos - 1); Utf8Decode(HttpDecode(TmpParam)); ParamList.Add(TmpParam); Param := Copy(Param, EPos + 1 , Length(Param) - EPos); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.