在我的php页面中,通过mysql数据库查询,我得到了这种类型的字符:我正在使用utf8mb4_unicode_ci。我正在使用Mysql(没有PDO或Mysqlì)我很绝望,我不知道如何解决它。你能帮帮我吗?谢谢!
编辑:我在我的html中找到了一个解决方案:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
我也尝试了字符集=utf-8,但它不起作用。谢谢你的回答!:)
查询
之前mysql_query("SET NAMES UTF8");
可以解决此问题。
您必须将
数据库字符集集合设置为像 utf8_general_ci
这样的 UTF-8 集合,对于您的 php 连接,您必须使用 mysqli_set_charset($con,"utf8")
喜欢:
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Change character set to utf8
mysqli_set_charset($con,"utf8");
mysqli_close($con);
?>
两个错误不构成正确。 您现在拥有的将处理 latin1 文本,但不是全部 utf8mb4。
你可能有
- 客户端中的 latin1 字节(不是完整的 utf8)
-
SET NAMES latin1
,可能是默认的。 (需要 UTF8MB4) - 表/列上的
CHARACTER SET utf8mb4
(良好) -
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
- 目前很好,但当你修复前两个项目时会中断。
(带问号的黑钻石)