2017-08-28 1 views
0

Après avoir lu un certain nombre de questions similaires (? UTF-8 all the way through, sous forme de php soumettre UTF8 enter link description here, forme UTF-8 ne fonctionne pas en HTML enter link description here) et d'essayer toutes leurs recommandations, mais le formulaire utilisateur dans mon application ne peut toujours pas gérer les caractères spéciaux (é, è, etc). Quelques notes supplémentaires:HTML formsfails d'afficher en UTF-8 - en dépit des recommandations essayant

  • je peux enregistrer des caractères spéciaux sur le db (Postgres), l'ajout de nouveaux utilisateurs ou de modifier les entrées existantes, sans problème. Et si je récupère ces entrées sur la webapp, il affiche avec succès les caractères spéciaux (par exemple, adminPage/usersTable ou adminPage/userInfoEdit #). Cependant, si j'essaie d'enregistrer cette entrée, il va écrire du charabia dans la base de données.

PHP tête

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

PHP Poster

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 Fonction

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))); 
} 

formulaire 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> 

commentaires, suggestions, conseils, ressources seront très appréciés. Si vous avez des questions, je suis heureux de clarifier. Merci beaucoup!

Répondre

0

Est-ce que votre HTML <head> a un tag <meta charset="utf-8">?

+0

Oui @kmoser: Dukanis