3

コールドフュージョンのページ uni.cfm があります。

<cfprocessingdirective pageencoding="utf-8">
<cfscript>

<cfdump var="#form.a#" label="form">
<cfdump var="#getHttpRequestData().content#" label="form2">

次の HTTP 要求を送信すると、最初に string "???"、次にstring が返された html が生成されます"a=ΠΣΩ"

POST http://localhost:8080/uni/unicode.cfm HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: unicli
Host: localhost:8080
Content-Length: 8
Pragma: no-cache

a=ΠΣΩ

#form.a# はバイナリ文字列を正しく処理しないのに、getHttpRequestData() は処理するのはなぜですか?

4

1 に答える 1

2

送信者に content-type をmultipart/form-dataURL エンコーディングなしに変更させると、魅力的に機能しました。

POST *URL* HTTP/1.1
Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: 145

--AaB03x
Content-Disposition: form-data; name="a"

ΠΣΩ
--AaB03x--

次に、 #form.a# を使用して正しい文字列を取得できます!

于 2012-06-01T19:57:48.470 に答える