Bonjour, je n'arrive pas à résoudre un problème d'encodage dans le resultat d'une requete SQL. Les accents disparaissent !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
 
  <head>
        <meta http-equiv="Content-Type" content="text/html; utf-8" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
 
        <title>INDEX</title>
 
        <script type="text/javascript" src="defaut.js"></script>
 
        <link rel="stylesheet" type="text/css" href="defaut.css" />
  </head>
 
 
  <body>
  <?php
 
echo aff();
 
 
function aff()
{
    include("outils_connexionBD.php");
    $cnx=connexionBDD();
    $sql="SELECT ....";
 
    $statement=oci_parse($cnx, $sql);
    $resultats=oci_execute($statement);
    while($d=oci_fetch_array( $statement ))
        $retour.=htmlentities( $d[0], ENT_QUOTES);
 
    deconnexionBDD($cnx);
 
    return $retour ;
}
?>
 
  </body>
</html>
- L'affichage du resultat est sans accent.
- Le resultat dans le code source est sans accent.
- L'encodage du text dans cette page est utf-8
- Le type de la donnée est VARCHAR2, qui ici est en WE8MSWIN1252 (NLS_CHARACTERSET)
- Un mb_detect_encoding($d[0]) me donne ASCII (en contradiction avec la ligne précedente)
-Un mb_convert_encoding($d[0], "utf-8", "WE8MSWIN1252") retourn une erreur
-Un mb_convert_encoding($d[0], "utf-8") n'y change rien

Je ne vois pas ce que je peux faire de plus.

Quelqu'un aurait une idée ?
merci