0

我有一个大的 html 表单,它被提交到一个脚本,然后数据被输入到数据库中。

由于某种原因,我在数据库中输入的字符不正确。它把 ä 变成ä

文件如下:

page_varaa.php包含表单form_haeverkkotunnus_data.php或者如果提交了表单,它会执行数据库操作。

两个 php 页面都被编码为 UTF-8 没有 BOM,有一个

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,没有改变任何东西:(

4

1 回答 1

0

非常感谢 cypherabe,我没有使用 PDO,但您的评论给了我正确的方向,我必须为 mysqli 设置字符集,就像这里一样;

http://php.net/manual/en/mysqli.set-charset.php

于 2013-07-15T12:32:34.550 回答