这是我的问题,我有一个阿拉伯数据库mysqli UTF8_general_ci和我的PHP文件的字符集是UTF-8
当我发送数据时,我得到了“?????????????”
在我的管理员我可以写和读没有问题,也可以在PHP上,但问题是什么时候我从数据库中获取数据!这是我的代码:
<meta charset="UTF-8"/>
$connexion = new mysqli(HOST_DB,USER_DB,MDP_DB,DB_NAME);
if ($connexion->error) {
die('Une erreur s\'est produite :' .$connexion->error);
}
else{
$sql = "SELECT nom, description, date, formateur, image, prix, lieux FROM news";
if ($result = mysqli_query($connexion,$sql)) {
while ($ligne = mysqli_fetch_assoc($result)) {
echo'
<ul>
<li><figure>
<figcaption>
<h1>'.$ligne["nom"].'</h1>
<p>'.$ligne["description"].'</p>
<strong>اليوم:'.$ligne["date"].'</strong><br/>
<strong>المكان:'.$ligne["lieux"].'</strong><br/>
<strong>المدرس:'.$ligne["formateur"].'</strong><br/>
<strong>الثمن: '.$ligne["prix"].'دينار</strong>
</figcaption>
<img src="Images/'.$ligne["image"].'" height="250px" width="250px">
</figure></li>
</ul>
';
}
}
}
答案 0 :(得分:2)
在连接到mysql之后输入此代码。 mysqli_set_charset($联接, 'utf-8'); 这是连接数据库的最终代码: $ connexion = new mysqli(HOST_DB,USER_DB,MDP_DB,DB_NAME); mysqli_set_charset($ Connexion公司, 'UTF8');
答案 1 :(得分:0)
<?php header('Content-Type: text/html; charset=utf-8'); ?>
会将标题修改为您的编码
答案 2 :(得分:0)
运行此SQL查询:
SET NAMES 'utf-8'
答案 3 :(得分:0)
问题来自XAMPP,我切换到Wamp服务器并重新启动机器,所有工作正常,
谢谢所有
答案 4 :(得分:0)
这将起作用,您必须在mysql \ bin内更改my.ini文件并添加以下行
character-set-server = utf8
答案 5 :(得分:-1)
请使用PHP Version Manager检查您的PHP版本。您应该将PHP升级到7.1.33或更高版本以解决此问题,否则上述解决方案将无济于事。