Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';就字符集而言,使用#form#和#getHttpRequestData()#有什么区别?_Http_Coldfusion_Localhost - Fatal编程技术网

什么';就字符集而言,使用#form#和#getHttpRequestData()#有什么区别?

什么';就字符集而言,使用#form#和#getHttpRequestData()#有什么区别?,http,coldfusion,localhost,Http,Coldfusion,Localhost,我有一个coldfusion页面,uni.cfm: <cfprocessingdirective pageencoding="utf-8"> <cfscript> <cfdump var="#form.a#" label="form"> <cfdump var="#getHttpRequestData().content#" label="form2"> 为什么#form.a#不能正确处理二进制字符串,而getHttpRequestData()

我有一个coldfusion页面,uni.cfm:

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

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

为什么#form.a#不能正确处理二进制字符串,而getHttpRequestData()却能正确处理二进制字符串?

让发件人将内容类型更改为
多部分/表单数据
,而不使用url编码,效果非常好:

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#并获得正确的字符串

这是一个很好的问题,但您的第一个CFDUMP应该是“#form.a#”。这也让我感到不安:)当您“查看源代码”时会发生什么?也许是CFDUMP让您感到困惑。在第二种情况下,您得到的是原始的“未经修饰的”版本。。也许cfdump中的CSS和行为就是最初破坏它的原因。在第二个实例中,它是相当“普通的jane”,因此它得到了正确的dom属性级联来处理?表单上的SetEncoding指令的目的是什么?传入的编码是什么?(getEncoding(form))?@Sharondio没有目的。我只是把它拿出来,结果是一样的。表单已经在使用UTF-8。可能是因为
内容类型:application/x-www-form-urlencoded
,这意味着内容是
urlencoded
,而不是二进制的?我不确定。但是,如果
getHttpRequestData()
适合您,请使用它。
POST *URL* HTTP/1.1
Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: 145

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

ΠΣΩ
--AaB03x--