Problème d'accents
Résolu
troubadour2
Messages postés
284
Statut
Membre
-
Toine78 Messages postés 23 Statut Membre -
Toine78 Messages postés 23 Statut Membre -
Bonjour,
Sur mon site à partir du moment où j'ai un caractère accentué aucune autre lettre ne s'affiche.
Dans ma BDD les caractères sont affiché correctement.
Si je prends l'exemple "Régine" dans ma BDD c'est exactement pareil et dans l'affichage de mon tableau et sur tous les navigateurs ça m'affiche que le R.....
Je n'ai jamais rencontré un problème pareil.
Pouvez vous me dire ce que vous en pensez.
Je vous remercie
Sur mon site à partir du moment où j'ai un caractère accentué aucune autre lettre ne s'affiche.
Dans ma BDD les caractères sont affiché correctement.
Si je prends l'exemple "Régine" dans ma BDD c'est exactement pareil et dans l'affichage de mon tableau et sur tous les navigateurs ça m'affiche que le R.....
Je n'ai jamais rencontré un problème pareil.
Pouvez vous me dire ce que vous en pensez.
Je vous remercie
8 réponses
ca me semble être un peu une usine à gaz...
Tu as essayé plus simple : les fonctions utf8_decode () pour lire une données de ta base et utf8_encode() pour y enregistrer un nouvel élément.
Tu as essayé plus simple : les fonctions utf8_decode () pour lire une données de ta base et utf8_encode() pour y enregistrer un nouvel élément.
Avant toute chose, est-ce que ta page web et tes tables en BDD ont le même encodage (UTF8 ou autre).
Si oui as tu un exemple à montrer ?
Si oui as tu un exemple à montrer ?
Bonjour
oui l'encodage de ma BDD c'est utf8 j'ai regarder c'est Mysql
et dans mon fichier j'ai
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
mon éditeur PHP c'est Notepad++ il est en UTF8 sans BOOM
et mon navigateur idem
Merci
oui l'encodage de ma BDD c'est utf8 j'ai regarder c'est Mysql
et dans mon fichier j'ai
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
mon éditeur PHP c'est Notepad++ il est en UTF8 sans BOOM
et mon navigateur idem
Merci
As tu regarder au niveau de l'encodage de ta table en BDD, là aussi il peut y avoir une différence.
si ce n'est pas le cas, poste moi un petit exemple je vais regarder
si ce n'est pas le cas, poste moi un petit exemple je vais regarder
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est re-moi
en fait je viens de m'apercevoir que ma BDD est en UTF8 mais mes tables ne sont pas en utf8
que dois je faire?
Merci
en fait je viens de m'apercevoir que ma BDD est en UTF8 mais mes tables ne sont pas en utf8
que dois je faire?
Merci
Voila le problème :)
Il faut simplement depuis phpmyadmin (ou un autre système de gestion de BDD Mysql) aller sur ta table et changer son encodage.
Pour ce faire avec phpmyadmin, tu ouvre ta BDD, tu sélectionnes ta table et tu cliques sur l'onglet "Opérations", là tu verras une combobox permettant de changer l'encodage.
Il faut simplement depuis phpmyadmin (ou un autre système de gestion de BDD Mysql) aller sur ta table et changer son encodage.
Pour ce faire avec phpmyadmin, tu ouvre ta BDD, tu sélectionnes ta table et tu cliques sur l'onglet "Opérations", là tu verras une combobox permettant de changer l'encodage.
Bonjour
En fait je ne peux pas toucher la BDD car c'est une entreprise et elles est trop importante.
Alors il faut que j'essaie de convertir un array en UTF8 via un script j'en ai trouvé un mais j'ai du mal pour qu'il fonctionne.
Si tu connait
Merci
En fait je ne peux pas toucher la BDD car c'est une entreprise et elles est trop importante.
Alors il faut que j'essaie de convertir un array en UTF8 via un script j'en ai trouvé un mais j'ai du mal pour qu'il fonctionne.
Si tu connait
Merci
function toUTF8($param)
{
if(is_array($param)) {
array_walk_recursive($param, create_function('&$item, $index', '$item = toUTF8($item);'));
return $param;
}
mb_detect_order('UTF-8, ISO-8859-15, ISO-8859-1, Windows-1252');
//parfois si le dernier caractère de la chaine est accentué, la conversion peut foirer,
//donc on force avec un caractère qui ne l'est pas.
//(astuce trouvée sur les commentaires de la doc sur php.net)
$param .= '_';
$currentCharset = mb_detect_encoding($param);
if ($currentCharset != 'UTF-8') {
$param = mb_convert_encoding($param, 'UTF-8', $currentCharset);
}
return substr($param, 0, strlen($param)-1);
}