Afficher date en FR

VaN
Mammouth du PHP | 1107 Messages

03 mars 2011, 20:31

Bonjour,

j'ai une requête qui va chercher un timestamp dans une table, que j'aimerai afficher en une date texte en FR, du type 28 février.

j'ai donc fait un :
<?php echo strftime('%d %B', $event['event_offer_start_timestamp']); ?>
Mais voilà ce qui s'affiche :
28 f�vrier
Pourtant, tous mes charsets sont bons :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
charset de la base SQL : utf8
charset de la table SQL : utf8
mysql_query("SET NAMES 'utf8'");
setlocale(LC_ALL, 'fr_FR.utf8', 'fra');
Comment cela se fait-il que l'accent soit mal encodé ?

ViPHP
ViPHP | 5462 Messages

03 mars 2011, 21:10

et ton header ?

sinon c'est pas :
mysql_query("SET NAMES 'utf8'");
mais
mysql_set_charset('utf8');

VaN
Mammouth du PHP | 1107 Messages

04 mars 2011, 10:37

Je viens de rajouter un
header('Content-type: text/html; charset=utf-8');
et de changer
mysql_query("SET NAMES 'utf8'");
en
mysql_set_charset('utf8');
, mais toujours pareil. Sur la même page, j'ai le mot "Cinéma" affiché. Si je change l'encodage de Firefox en ISO-8859-1, la date s'affiche correctement, et "Cinéma" devient
Cinéma
, si ça peut aider. En tout cas c'est à n'y rien comprendre.

EDIT : Finalement, je me suis débrouillé, je fais la conversion directement en SQL, et je définie la variable locale SQL avant avec
mysql_query("SET lc_time_names = 'fr_FR'");