Problème d'encodage avec base de donnée

Par arnak34, il y a 15 ans


Salut,

Voilà j'ai un probleme dans mon systeme de news quand je met des accents (é,è,ê) ceci sont remplacé par des points d'interrogation..

L'interclassement de ma base de donée est pourtant en utf8_general_ci, et mes script son encodé en UTF-8 comme les doctype de mes pages.

Donc je comprends pas...

8 réponses

Bruno, il y a 14 ans

Bonjour,

J'ai le même problème d'un exercice que j'ai fait avec la Bdd ce qui ma réglé le problème c'est ceci :

$bdd = new PDO ('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
mespeche, il y a 15 ans

Tu codes sous quel éditeur ? Si tu es sous Komodo vérifie bien que tes pages sont en UTF-8 (clic droit/Properties and Settings/Encoding => UTF-8

Sinon mets ta base de données en utf_unicode_ci

arnak34, il y a 15 ans

Je code avec notepad++ (utf-8 ou utf-8 sans bom) selon les pages.

Pour ma base de donnée je l'ai mis en unicode comme tu as dis mais le problème et le même j'ai toujours les points d'interrogations dans les news http://www.commandofireskull.fr et dans l'interface d'administration après soumission quand je réouvre la news pour la modifier.

PhiSyX, il y a 15 ans

Hello, l'utf-8 est très mal géré par PHP..

Essaye ceci :

// mysql
mysql_query('SET NAMES utf8');

ou

// PDO
$taVarPDO->exec('SET NAMES utf8');
arnak34, il y a 15 ans

Je test ca dans les jours qui viennent et je te dis ca !

Merci phisyx

arnak34, il y a 15 ans

Ça fonctionne merci beaucoup =)

leknoppix, il y a 15 ans

Marque en résolu

creataddict, il y a 15 ans

Si non :

$DB = new PDO('mysql:host=localhost;dbname=test ;charset=UTF-8', 'root', '');