如果SQL中存在匹配项并且返回结果,我需要我的php搜索引擎返回西里尔文字。我的ajax工作正常并且发布了西里尔字符
但我猜这个问题来自于php收到它可能正在编码它的角色而且来自асд的角色会变成类似于0%D0%BD%D0%B8的东西所以有我的代码:
<form method="post" accept-charset="UTF-8">
<p>Търсене на храни: <input type="text" name="fsearch" id="food_search"></p>
</form>
<div id="food_search_result">
<!----------------------------------------------------------------
PHP
----------------------------------------------------------------->
if(!empty($_POST['fsearch'])) {
$fsearch = $_POST['fsearch'];
$req = $connect->prepare("SELECT title FROM food_data_bg WHERE title LIKE ?");
$value = '%'.$fsearch.'%';
$req->bind_param('s', $value);
$req->execute();
$req->store_result();
$num_of_rows = $req->num_rows;
$req->bind_result($title);
if ($req->num_rows == 0){
echo 'Няма резултати';
}
else{
while($data=$req->fetch()){
?>
<div class="search-result">
<span class="result-title"><?php echo $title; ?></span>
</div>
<?php
}
$req->free_result();
}
}
?>
所以只是为了澄清你们更容易帮助我.1。信息从HTML输入字段发送到AJAX 2.Ajax在php form.3.Php中发布信息并检查是否有匹配在SQL database.4.Php返回结果如果有,如果没有结果则返回echo'Няманамеренирезултати'这意味着没有找到保加利亚语的结果。
我已经尝试过的事情是:
1.编辑我的html表格中的加密类型。
2.尝试添加This One等功能。
3.为UTF-8字符添加元标记。 没有任何效果。
答案 0 :(得分:0)
尝试:
$value = '%'.urldecode($fsearch).'%';
和第二个变体 - 在建立数据库连接后立即尝试该查询:
$connect->query("SET NAMES utf8");
不要试试。