PHP显示???而不是希伯来语,当我从mysql显示希伯来语时

PHP显示???而不是希伯来语,当我从mysql显示希伯来语时,php,mysql,unicode,utf-8,mariadb,Php,Mysql,Unicode,Utf 8,Mariadb,我试图通过php用希伯来语显示mysql 10.2中的查询。问题是,我看到的只是问号,如下图所示: 我将所有数据库、表和列都更改为UTF8\u general\u ci。我更新了meta标记,正如你在下面的代码中看到的,标题,当我放入mysql\u查询(“SET NAMES'utf8')时,它显示https错误500,所以我做了一个注释 config_php: <?php session_start(); $host = "localhost"; $user = "users"; $pa

我试图通过php用希伯来语显示mysql 10.2中的查询。问题是,我看到的只是问号,如下图所示:

我将所有数据库、表和列都更改为UTF8\u general\u ci。我更新了meta标记,正如你在下面的代码中看到的,标题,当我放入
mysql\u查询(“SET NAMES'utf8')
时,它显示https错误500,所以我做了一个注释

config_php:

<?php
session_start();
$host = "localhost";
$user = "users";
$password = "123";
$dbname = "users";
$con = mysqli_connect($host, $user, $password,$dbname);
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
//mysql_query("SET NAMES 'utf8'");
mysqli_set_charset('utf8',$con);
}

-->

更好的做法是养成使用OO编码风格的习惯:

$con->mysqli_set_charset('utf8');
如果您还有其他问题,请参阅中的“引号”

不要使用任何
mysql.*
函数;它们已弃用,不能与
mysqli.*
函数一起使用

-->

更好的做法是养成使用OO编码风格的习惯:

$con->mysqli_set_charset('utf8');
如果您还有其他问题,请参阅中的“引号”


不要使用任何
mysql.*
函数;它们已被弃用,不能与
mysqli.*
函数一起使用。

我通过将所有数据库列和表更改为utf8mb4\u unicode\u 520\u ci,成功地解决了这个问题 添加mysqli_查询($con,“SET NAMES'utf8mb4'”);
并在表格中添加。。希望对有同样问题的人有所帮助

通过将所有数据库列和表更改为utf8mb4_unicode_520_ci,我成功地解决了这个问题 添加mysqli_查询($con,“SET NAMES'utf8mb4'”);
并在表格中添加。。希望对有同样问题的人有所帮助

我打赌问题在于渲染字符集。如果添加
标题(“内容类型:text/html;charset=utf-8”)到脚本顶部?您说过您已将所有数据库、表和列更改为UTF8\u general\u ci。当它们不是UTF8时,数据是否已经在其中?如果是这种情况,那么数据库中的数据已经损坏,您将无法正确检索它们。您需要先修复数据库中的数据。是的,我按照你们两人说的做了,但仍然不起作用。。你甚至可以在我上传的图片中看到你刚刚写的代码,我打赌问题在于渲染字符集。如果添加
标题(“内容类型:text/html;charset=utf-8”)到脚本顶部?您说过您已将所有数据库、表和列更改为UTF8\u general\u ci。当它们不是UTF8时,数据是否已经在其中?如果是这种情况,那么数据库中的数据已经损坏,您将无法正确检索它们。您需要先修复数据库中的数据。是的,我按照你们两人说的做了,但仍然不起作用。。你甚至可以在我上传的图片中看到你刚刚写的代码
$con->mysqli_set_charset('utf8');