我有一个大的html表单,提交给脚本然后将数据输入数据库。
由于某种原因,我输入的数据库中的字符不正确。 将ä转变为ä
文件如下:
page_varaa.php ,其中包含 form_haeverkkotunnus_data.php 表单,或者如果提交表单,则会执行数据库操作。
这两个php页面都编码为没有BOM的UTF-8,有一个
header('Content-Type: text/html; charset=utf-8');
在页面顶部。表本身有整理
utf8_unicode_ci
在index.php页面上我有
<head>
<meta charset="utf-8">
我正在使用msqli并将这样的数据输入数据库:
$stmt = $db->prepare($sql);
$stmt->execute()
数据库引擎是innoDB
我的数据库有一个utf8_general_ci的服务器连接合作
尽管如此,我仍然在数据库中有虚假的字符。我在这里缺少什么?
非常感谢
修改
我也设置表utf8_general_ci,没有改变任何东西:(
答案 0 :(得分:0)
非常感谢cypherabe,我没有使用PDO,但你的评论给了我正确的方向,我必须为mysqli设置charset,就像这里一样;