HTML表单无法以UTF-8发布 - 尽管尝试了建议

时间:2017-08-28 01:22:56

标签: php html forms encoding utf-8

在阅读了许多类似的问题(UTF-8 all the way through后,php表单提交utf8?enter link description here,UTF-8无法使用HTML表单enter link description here)并尝试所有建议,但是我的应用程序中的用户表单仍然无法处理特殊字符(é,è等)。一些补充说明:

  • 我可以在db(Postgres)上保存特殊字符,添加新用户或编辑现有条目,没有问题。如果我在webapp上检索这些条目,它会成功显示特殊字符(例如,adminPage / usersTable或adminPage / userInfoEdit#)。

  • 但是,如果我尝试保存该条目,它会在数据库中写入乱码。

PHP标头

  <?php header("Content-Type: text/html;charset=UTF-8");

PHP帖子

if (empty($_POST) === false && empty($errors) === true) {
    $registerData = array(
        'email' => $_POST['email'],
        'first_name' => $_POST['firt_name'],
        'last_name' => $_POST['last_name'],
    );
registerUser($registerData);

PHP功能

function registerUser($registerData) {
    array_walk($registerData, 'arraySanitize');
pg_query("INSERT INTO utilisateur ($fields, date_inscription, statut) VALUES ($data, '$date','$statut')");
function arraySanitize(&$item) {
    $item = htmlentities(strip_tags(pg_escape_string($item)));
}

HTML表单

<form method="post" action="" accept-charset="UTF-8">
    <div class="row">
        <div class="col-sm-6">
            <div class="form-group">
                <label>First name *</label>
                <input type="text" class="form-control" name="firt_name" value="">
            </div>
        </div>
        <div class="col-sm-6">
            <div class="form-group">
                <label>Last name *</label>
                <input type="text" class="form-control" name="firt_name" value="">
            </div>
        </div>
        <div class="col-sm-6">
            <div class="form-group">
                <label>email *</label>
                <input type="text" class="form-control" name="email" value="">
            </div>
        </div>

    </div>
</form>

任何评论,建议,提示和资源都将受到高度赞赏。如果您有任何疑问,我很乐意澄清。 非常感谢!

1 个答案:

答案 0 :(得分:0)

您的HTML <head>是否有<meta charset="utf-8">代码?