我有一个由两部分组成的波斯名字:محمد رضا
我还有一个像这样的HTML表单:
<form class="loginform" action="https://hammihan.com/search.php" method="POST">
<input type="hidden" name="searcher" value="searcher">
<input name="name" value="" type="text">
<input name="family" value="" type="text">
<select name="marriage">
<option>جنسیت</option>
<option value="1">مرد</option>
<option value="2">زن</option>
</select>
<input type="submit" value="جستجو">
<div class="marginbottom"></div>
</form>
当我将波斯名称写入name
按钮并提交表单时,我会看到结果(基于该条款有一些结果)。一切都很好。
现在我想用PHP做同样的事情:
public function hammihan($request)
{
$val = "حمید رضا";
$url = "https://hammihan.com/search.php";
$data['name'] = $val;
$data['family'] = "";
$data['marriage'] = "جنسیت";
$data['searcher'] = "searcher";
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);// here we are passing $data
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_URL, $url);
$res = curl_exec($handle);
return $res;
}
但它什么也没有回报。我的意思是搜索引擎说找不到结果。为什么?当我通过HTML表单发送它时,为什么会找到确切的名称,当我通过PHP发送它时将找不到它?
注意到两者都不起作用:
$val = utf8_encode('حمید رضا');
$val = urlencode('حمید رضا');
此外,我的PHP代码也适用于单个部分名称。所以问题是空间。
答案 0 :(得分:0)
我认为您的问题在于默认字符集
将其更改为
default_charset = "utf-8"
希望这可以解决您的问题