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) :
1) Si je met le header UTF-8, je récupère : "Â"
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(); }
2) Si je met le header ISO, je récupère : "Â"
Maintenant, je modifie ma connectionString en rajoutant le charset :
1) Si je met le header UTF-8, je ne récupère plus rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dbh = new PDO("dblib:host=$host;dbname=$db;charset=UTF-8", $login, $pass);
2) Si je met le header ISO, je ne récupère plus rien
Une idée d'ou vient mon souci?
Partager