PHP UTF-8编码MYSQL插入?

PHP UTF-8编码MYSQL插入?,php,sql,encoding,utf-8,special-characters,Php,Sql,Encoding,Utf 8,Special Characters,我正在经历一种非常奇怪的行为。当我使用UTF8字符(特别是“ő”或“ű”匈牙利字符)运行insert into时,它会插入一个?而不是角色。但是,如果我在传入查询之前将其回显,它将显示正确的字符 我所做的: 我已经在mysql表和数据库中设置了所有可能的排序规则、字符集 数据库到UTF8 我调用了mysql\u查询(“SET NAMES'UTF8'”) 我调用了mysql\u查询(“SET CHARACTER SET UTF8”) 我已将网站编码设置为: 按预期工作的内容: PHPMyAd

我正在经历一种非常奇怪的行为。当我使用UTF8字符(特别是“ő”或“ű”匈牙利字符)运行insert into时,它会插入一个?而不是角色。但是,如果我在传入查询之前将其回显,它将显示正确的字符

我所做的:

  • 我已经在mysql表和数据库中设置了所有可能的排序规则、字符集 数据库到UTF8
  • 我调用了
    mysql\u查询(“SET NAMES'UTF8'”)
  • 我调用了
    mysql\u查询(“SET CHARACTER SET UTF8”)
  • 我已将网站编码设置为:
按预期工作的内容:

  • PHPMyAdmin
  • 从表中回显特殊字符
它在本地主机服务器上工作。 非本地服务器的默认编码是ISO-8859-1,我无法更改。

如果

1-将html页面的lang编码设置为
utf-8
,其中包括表单
2-仅使用表单将输入输入到相关的MySQL db表中
3-在MySQL(表和行排序规则)中将所有排序规则设置为
utf8\u unicode\u ci

4-如果您有premission,还可以将MySQL数据库排序规则设置为
utf8\u unicode\u ci

那么您也不会在mySQL记录中看到实体

这是我使用的解决方案,我的母语也有很多unicode字符,这对我来说没有问题

下面我向您介绍我的db连接php代码&推荐(使用准备好的语句;请检查)

我认为你们的主要观点是上面列表中的第二点


另外,如果您已经有一些文档,请编辑文档的元标记以进行字符集声明,并使用记事本+++
编码>转换为不带BOM的UTF-8,保存文档,从现在起安全地继续使用UTF-8字符。(这是一个解决与
BOM
相关的可能的HTML端问题的解决方案)

检查您的HTTP头。即使您设置了元标记,大多数浏览器默认使用HTTP头。的可能重复似乎用utf-8头和iso-8859-1元标记解决了,这很奇怪。
//mysql bağlantısı
global $db_baglanti;
$db_baglanti = new mysqli(vt_host, vt_user, vt_password, vt_name);
if ($db_baglanti->connect_errno) 
{
    echo "MySQL bağlantısı kurulamadı: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$db_baglanti->set_charset("utf8")) 
{
    printf("utf8 karakter setinin yüklenmesinde problem oluştu: %s\n", $db_baglanti->error);
} 
else 
{
    $db_baglanti->set_charset("utf8");
}