Bonjour,

j'utilise PDO pour la connexion à la BDD mais je rencontre quelques soucis que je n'arrive pas à m'expliquer.

Ma BDD est Sybase et le charset est du roman8 (iso_1), j'aimerai convertir le tout en UTF-8 afin de ne plus jongler entre les charsets (j'ai aussi des BDD en charset utf-8...).

Mon code (V1) :
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
 
//     header("Content-type:text/html; charset=UTF-8");
//     header("Content-type:text/html; charset=iso8859-1");
 
try {
	$dbh = new PDO("dblib:host=$host;dbname=$db", $login, $pass);
 
	$sql = "select '¢'"; // Caractères ¢
    $query = $dbh->prepare($sql);
    $query->execute();
 
    for($i=0; $row = $query->fetch(); $i++){
        echo $row[0]." - ". htmlentities($row[1]) ."<br/>";
    }
}
catch(Exception $e) {
	echo $e->getMessage();
}
1) Si je met le header UTF-8, je récupère : "Â"
2) Si je met le header ISO, je récupère : "Â"

Maintenant, je modifie ma connectionString en rajoutant le charset :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$dbh = new PDO("dblib:host=$host;dbname=$db;charset=UTF-8", $login, $pass);
1) Si je met le header UTF-8, je ne récupère plus rien
2) Si je met le header ISO, je ne récupère plus rien

Une idée d'ou vient mon souci?