从数据库检索阿拉伯数据

时间:2018-11-13 06:52:21

标签: php mysql

我使用PHP和MySQL进行了简单的搜索

它非常适合英语文本,但是对于阿拉伯文本,它将不会无任何错误地检索任何数据

在数据库“ PhpMyAdmin”上执行相同的MySQL查询时,效果很好

Result.PHP


<?php
if(!isset($_POST["search"])){$_POST["search"]="";}
echo $search=$_POST["search"];  
$servername = "localhost";
$username = "aramtryf_laravel";
$password = "Reha@2015";
$dbname = "aramtryf_laravel";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($conn,$sSQL); 

$sql = "  SELECT * FROM oldorgs WHERE org_name like '%$search%'  ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {



echo    "<tr>
      <th scope='row'>".$row["org_name"]."</th>
      <td>".$row["gov"]."</td>
      <td>".$row["sector"]."</td>
      <td>".$row["email"]."</td>

    </tr>";


    }
} 
$conn->close();
?> 

4 个答案:

答案 0 :(得分:0)

绝对可行:您的html页面设置为元数据UTF-8

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

或 在Mysql中尝试

$connect = mysql_connect("localhost","root","");
mysql_select_db("arabicd", $connect);
mysql_query("SET NAMES utf8");

答案 1 :(得分:0)

尝试添加

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

连接到mysql之后。

或者您可以使用这个。

mysqli_set_charset($conn, "utf8");

答案 2 :(得分:0)

Mysql具有UTF-8的部分实现。因此,建议您坚持使用HTML UTF-8,例如:

<meta charset="utf-8">

或者您可以使用 utf8mb4 完全支持mysql中的UTF-8。

答案 3 :(得分:0)

代替

$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($conn,$sSQL); 

尝试

mysqli_set_charset($conn,"utf8");