我使用PHP和MySQL进行了一个简单的搜索
它对英文文本非常有效,但对于阿拉伯文本,它不会毫无错误地检索任何数据。
在数据库上执行相同的MySQL查询时,"PhpMyAdmin“工作得很好
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();
?> 发布于 2018-11-13 10:22:11
而不是
$sSQL= 'SET CHARACTER SET utf8';
mysqli_query($conn,$sSQL); 试一试
mysqli_set_charset($conn,"utf8");发布于 2018-11-13 07:01:24
它确实有效:您的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");发布于 2018-11-13 07:01:40
试着添加
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");在您连接到mysql之后。
或者你可以用这个。
mysqli_set_charset($conn, "utf8");https://stackoverflow.com/questions/53275374
复制相似问题