Bonjour,
J'aimerais convertir des chaînes de caractères sorties d'un base mySQL au format utf8_unicode_ci . Ces chaînes sont susceptibles de contenir des guillemets simples et doubles. J'aimerais donc convertir ces caractères spéciaux en, respectivement, '´' et '"' .
J'ai essayé d'utiliser la fonction htmlentities() sur ces chaînes, ce qui n'a rien changé. Aujourd'hui j'ai essayé de faire une fonction qui remplacent tous les caractères spéciaux sur ces chaïnes, sans plus de résultats.
Mon en-tête html est :
et voici la fonction ma fonction qui traite les chaînes (fonction récursive car les chaînes sont contenues dans un tableau à profondeur multiples) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> .... </head> .... </html>
La variable $count qui compte le nombre de remplacement effectués reste à zéro..
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 function encode_html($tab) { $search = array('"', '\''); $replace = array ('"','´'); $count = 0; foreach ($tab as $key => $value) { if (is_array($value)) encode_html($value); else { $value = utf8_decode($value); $value = str_replace($search, $replace, $value, &$count); } } return $count; }
Partager