Encodage

Résolu
Bonjour,

J'ai un soucis d'encodage sur mon site :

<?php
session_start();
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mes taches</title>

etc...

J'ai un formulaire ensuite et quand j'affiche la variable, les accents sont mal codés :
le é est é etc...

Aidez moi , j'ai beau avoir le meta...

Mon fichier htaccess :
SetEnv PHP_VER 5_TEST
SetEnv REGISTER_GLOBALS 0
RewriteCond %{REMOTE_ADDR} ^41\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
RewriteCond %{REMOTE_ADDR} ^81\.[0-9]+\.[0-9]+\.[0-9]+ [OR]
RewriteCond %{REMOTE_ADDR} ^196\.[0-9]+\.[0-9]+\.[0-9]+
RewriteRule .* - [F]

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^SN|NE|NG|CG|DE|CI|BJ$
RewriteRule .* - [F]

RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$
RewriteRule ^(.*)$ - [F]

1 réponse

  1. Contributeur
    Hello,

    Regarde ce post ; et jette un oeil aux méthode utf8_encode et utf8_decode qui, appliquée à tes données sorties de ta base, te permettront peut-être de régler ce problème.
    1. Je pense avoir trouver mon erreur ...
      htmlentities servent a quoi ?
    2. Contributeur
      htmlentities permet de coder les caractères spéciaux en format "html". C'est à dire qu'un accent "é" deviendra "é" qui est naturellement interprété par le navigateur.

      C'est une des méthodes pour éviter les problèmes d'encodage avec les données stockées en base.
    3. Depuis que j'ai enlevé htmlentities , tout marche impec...
    4. Contributeur
      Bizarre ; généralement c'est l'inverse.
      C'était pas un html_entity_decode ?
    5. $resume=htmlentities($_POST['resume']);
      echo $resume;

      ééééé

      $resume=($_POST['resume']);
      echo $resume;

      ééééééé