This question already has answers here:
UTF-8 all the way through
(15个答案)
2年前关闭。
嗨,所以我从mysql数据库中获取带有拉丁字符(如“ó”)的文本。这是我用来获取数据的查询的连接,并将其放置在数组中:
然后,我试图像这样在
除“ç”,“ó”,“ã”等外,所有文本都可以。
我的标头中也有一个元标记
在数据库中,数据设置为“ utf8mb4_unicode_ci”。
我该怎么做才能解决此问题?任何想法?
现在一切都好:)
(15个答案)
2年前关闭。
嗨,所以我从mysql数据库中获取带有拉丁字符(如“ó”)的文本。这是我用来获取数据的查询的连接,并将其放置在数组中:
<?php
header('Content-Type: text/html; charset=UTF-8');
$con=new mysqli ("localhost","root","","chroniclemark");
$sqlget = "SELECT descricao FROM items;";
$sqldata = mysqli_query($con,$sqlget) or die ('error getting database');
while ($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)) {
$lol5[] = $row['descricao'] ;
}?>
然后,我试图像这样在
<?php ?>
语句之外显示文本:<p ><?php echo $lol5[0]; ?></p>
除“ç”,“ó”,“ã”等外,所有文本都可以。
我的标头中也有一个元标记
<meta charset="UTF-8">
,但没有帮助。在数据库中,数据设置为“ utf8mb4_unicode_ci”。
我该怎么做才能解决此问题?任何想法?
最佳答案
@Fred -ii感谢您在评论中指出我的正确方向。
我要做的就是在进行查询之前使用mysqli_set_charset($con, 'utf8mb4');
$sqlget = "SELECT descricao FROM items;";
$sqldata = mysqli_query($con,$sqlget) or die ('error getting database');
现在一切都好:)
09-28 03:48