PHP UTF-8编码MYSQL插入?
我正在经历一种非常奇怪的行为。当我使用UTF8字符(特别是“ő”或“ű”匈牙利字符)运行insert into时,它会插入一个?而不是角色。但是,如果我在传入查询之前将其回显,它将显示正确的字符 我所做的: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
- 我已经在mysql表和数据库中设置了所有可能的排序规则、字符集 数据库到UTF8
- 我调用了
mysql\u查询(“SET NAMES'UTF8'”)代码>
- 我调用了
mysql\u查询(“SET CHARACTER SET UTF8”)代码>
- 我已将网站编码设置为:
- PHPMyAdmin
- 从表中回显特殊字符
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");
}