有没有人知道Collation,这将允许我显示外键,例如é,而不将其显示为?
。
我如何展示
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
?>
<tr><td><?=$row["id"]?></td>
<td><?=$row["game"]?></td>
<td><?=$row["server"]?></td>
<td><?=$row["datetimepicker1"]?></td>
<td><?=$row["et"]?></td>
<td><?=$row["sc"]?></td>
<td><?=$row["ss"]?></td>
<td><?=$row["ec"]?></td>
<td><?=$row["es"]?></td>
<td><?=$row["attending"]?></span></td>
<td><p data-placement="top" data-toggle="tooltip" title="Delete">
<button class="btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" >
<span class="glyphicon glyphicon-trash"></span></button></p></td>
<?php }
} else { ?>
<td colspan="5">0 results</td>
<?php } ?>
我也试过
mysqli_set_charset($con,"utf8");
但似乎没有任何效果我尝试了很多字符集类型,但它仍然是?
。
答案 0 :(得分:1)
从MySQL到HTML输出的字符设置就像通过一组非常长的吸管饮用,将细小的液体吸到嘴里,每根吸管都必须是正确的,没有堵塞且没有扭结。
<强> I highly recommend reading this topic 强>
要在具有正确字符集的浏览器上显示MySQL表中的数据,您需要:
1)将MySQL列Collation设置为(例如)UTF8mb4
。
2)(同时将MySQL表格Collation设置为(类似)UTF8mb4
))
3)将MySQL 连接整理/字符集设置为UTF8mb4
。
4)使用multbyte strings plugin将PHP活动字符集设置为UTF-8。
mb_internal_encoding('UTF-8');
// Tell PHP that we'll be outputting UTF-8 to the browser
mb_http_output('UTF-8');
5)将HTML字符编码设置为UTF-8,标题为:
header('Content-Type: text/html; charset=utf-8');
或HTML头元标记。
作为旁注(可能会解决您的问题):
mysqli_set_charset($con,"utf8");
这是PROCEDURAL这样做的方式,但您的代码看起来像是在使用面向对象的 MySQLi,所以我建议使用:
$con->set_charset("utf8mb4");