Forum CMS Made Simple FR

Version complète : cms_date_format ne retourne pas la date en UTF-8
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.11.9
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


J'ai constaté que la fonction (le modifier smarty) cms_date_format ne retourne pas la date en format UTF-8, alors que le reste du site est configuré comme tel. En tout cas, c'est ce qu'indique la balise
Code :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
en tête des pages affichées.

J'ai modifié le fichier /plugins/modifier.cms_date_format.php en remplaçant
Code :
return smarty_modifier_date_format($string,$format,$default_date);
par
Code :
return utf8_encode(
    smarty_modifier_date_format($string,$format,$default_date)
    );
Est-ce que j'aurais pu mieux faire ?

PS : Merci aux auteurs des contributions dans la discussion 3546 qui m'ont mis sur la piste.
comme tu ne dis pas ou se trouve le problème d'affichage, difficile de donner une réponse Wink

D'abord il est déconseillé de modifier le code pour des raisons de conformation aux mises à jour futures
ensuite il y a la doc dans /doc/CMSMS_config_reference.pdf et la variable locale et des possibilités de réglage de la date dans les Paramètres globaux et Compte utilisateur
enfin on est en version 1.11.10 Mise à jour importante Fortement Recommandée
Le probleme ("J'ai constaté que la fonction (le modifier smarty) cms_date_format ne retourne pas la date en format UTF-8") se matérialise dans un affichage de la date comme "3. M?rz" au lieu de "3. März" (ou "3 d?cembre" au lieu de "3 décembre"). Difficile d'être plus explicite et précis avec les possibilité d'édition de ce forum.
C'est ce qu'on constate (et j'ai confirmé) quand le résultat texte (ici le résultat du cms_date_format) est en format "natif" de la machine, qui de toute évidence n'est pas UTF-8 chez mon hébergeur. Le reste de mon site est bien en UTF-8, comme je l'ai configuré seulement la date formatée par ce bout de code smarty n'en tient pas compte.
Comme il me semble que la discussion mentionnée en référence avait conclu qu'aucun paramétrage n'impacte la fonction du cms_date_format, je n'ai pas réexploré cette même piste.

Enfin, quand j'ai téléphoné pour une révision annuelle de ma voiture chez un garagiste, il a pris des renseignements pour conclure : "Monsieur, votre voiture a plus de dix ans. Vous êtes sûr de ne pas vouloir faire des révisions plus souvent ?"
Je suis bien conscient qu'on a une (sous-sous-)version de retard avec la 1.11.9. (Lorsqu'on crée une discussion, c'est mentionné aussi.) Es-tu prêt à parier 20 EUR que le problème pour lequel j'ai ouvert la discussion sera résolu avec la mise à jour ? Sinon, merci de me faire confiance pour mon jugement sur les priorités à résoudre sur mon propre site (contenu avant sécurité, eh oui Wink la vraie vie est parfois cruelle).
Citation :se matérialise dans un affichage de la date comme "3. M?rz" au lieu de "3. März" (ou "3 d?cembre" au lieu de "3 décembre").
Oui mais OU vois tu cet affichage ? dans les news sur la page web ?
jce76350 a écrit :
Citation :se matérialise dans un affichage de la date comme "3. M?rz" au lieu de "3. März" (ou "3 d?cembre" au lieu de "3 décembre").
Oui mais OU vois tu cet affichage ? dans les news sur la page web ?

Exact ! Celle qui contient la balise correcte <meta .../> que j'avais mentionnée.

Où pourrais-je le voir sinon ? Je ne tourne pas mon PHP en interactif Wink