微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Curl post给出了像åäö这样的奇怪角色

我有一个带有后期操作的grails控制器.
现在,当我通过PHP和curl尝试发布到grails控制器时,我得到了什么?像åäö等字符的占位符
如果我创建一个小的html表单,在同一个帖子中,grails控制器接收的参数为åäö而不是?等.

下面的差异是什么?如何让curl充当html表单示例?

卷曲的例子:

$x = curl_init("http://localhost/post");      
curl_setopt($x, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));  
curl_setopt($x, CURLOPT_POST, 1);  
curl_setopt($x, CURLOPT_POSTFIELDS, "Foo=ö");  
curl_setopt( $x, CURLOPT_ENCODING, "UTF-8" );   
curl_setopt($x, CURLOPT_RETURNTRANSFER, 1);  
$data = curl_exec($x);   
curl_close($x);

html表单示例:

<html> 
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head><title></title></head>
<body>
<form name="input" action="http://localhost/post" method="post" enctype="application/x-www-form-urlencoded">
<TEXTAREA NAME="Foo" COLS=10 ROWS=4 type=text>ö</TEXTAREA>
<input class="button" type="submit" value="send"/>
</form>
</body>
</html>

解决方法:

“UTF-8”不是CURLOPT_ENCODING的有效值.您只能被允许身份,deflate或gzip.您需要在Content-Type标头中设置它:

curl_setopt($x, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded; charset=UTF-8'));  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐