OVH Cloud OVH Cloud

Pb d'accents

4 réponses
Avatar
ADB
Bonjour,
Je suis hébergé par Aquaray.
J'ai un bout de code php qui me transforme la date Mysql en nom de mois
français. Ceci :
<?
setlocale (LC_ALL, "fr_FR");
if(is_numeric($debut)) $debut=strftime("%d %B %Y", $debut);
// Si c'est une date timestamp
else $debut=strftime("%d %B %Y", strtotime($debut));
$debut1=ucfirst($debut);

if(is_numeric($fin)) $fin=strftime("%d %B %Y", $fin);
// Si c'est une date timestamp
else $fin=strftime("%d %B %Y", strtotime($fin));
$fin1=ucfirst($fin);

list($jourd,$moisd,$anneed)=explode(" ",$debut);
list($jourf,$moisf,$anneef)=explode(" ",$fin);

// On verifie si le 1er caractere est 0 dans le numero du mois
if (substr($jourd, 0, 1)=='0' )
{ $jourd=substr($jourd, 1, strlen($jourd) -1); }
if (substr($jourf, 0, 1)=='0' )
{ $jourf=substr($jourf, 1, strlen($jourf) -1); }

if ($debut1==$fin1) {$dateaff=$fin1;}
if ($moisd==$moisf)
{ $dateaff="$jourd-$jourf $moisf $anneef" ;
if ($jourd==$jourf)
{$dateaff="$jourf $moisf $anneef" ;}
}
else
{$dateaff="du $jourd $moisd au $jourf $moisf $anneef" ;}
?>

Or, les mois accentués (août, décembre, etc.) apparaissent comme ceci :
août

Je n'avais pas ce pb chez Free. D'où cela peut-il provenir ? Y a-t-il
quelque chose à modifier dans le code ?
Merci d'avance
ADB

4 réponses

Avatar
Frederic BISSON
Or, les mois accentués (août, décembre, etc.) apparaissent comme ceci :
août
Je n'avais pas ce pb chez Free. D'où cela peut-il provenir ? Y a-t-il
quelque chose à modifier dans le code ? Merci d'avance ADB
Ton hébergeur doit fonctionner en UTF8 alors que Free fonctionne en

ISO-8859-1.

Tu peux utiliser la fonction utf8_decode pour transformer une chaîne utf8
en iso-8859-1.

@+

Frédéric

Avatar
ADB

Or, les mois accentués (août, décembre, etc.) apparaissent comme ceci :
août
Je n'avais pas ce pb chez Free. D'où cela peut-il provenir ? Y a-t-il
quelque chose à modifier dans le code ? Merci d'avance ADB


Ton hébergeur doit fonctionner en UTF8 alors que Free fonctionne en
ISO-8859-1.

Tu peux utiliser la fonction utf8_decode pour transformer une chaîne utf8
en iso-8859-1.

@+

Frédéric


Génial !!!
C'était tout à fait cela !
Merci infiniment !
Sur ce point UTF ISO Aquaray ne m'avait pas répondu (paspensé, sans doute).
ADB


Avatar
loufoque
Frederic BISSON a dit le 19/07/2004 23:05:

Tu peux utiliser la fonction utf8_decode pour transformer une chaîne utf8
en iso-8859-1.


Mieux vaut directement spécifier le charset dans la locale... Moins de
problèmes de portabilité.

Avatar
David Nguyen

Frederic BISSON a dit le 19/07/2004 23:05:

Tu peux utiliser la fonction utf8_decode pour transformer une chaîne utf8
en iso-8859-1.



Mieux vaut directement spécifier le charset dans la locale... Moins de
problèmes de portabilité.


Exact utilise aussi le metatag html charset, car ce type d'erreur est
trop courante.