在阅读了许多类似的问题(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>
任何评论,建议,提示和资源都将受到高度赞赏。如果您有任何疑问,我很乐意澄清。 非常感谢!
答案 0 :(得分:0)
您的HTML <head>
是否有<meta charset="utf-8">
代码?