Forum CMS Made Simple FR

Version complète : [RESOLU] Problème de caractères spéciaux dans les mails du livre d'or
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :----------------------------------------------
Cms Version: 1.11.4
Installed Modules:
CMSMailer: 5.2.1
CMSPrinting: 1.0.3
FileManager: 1.4.3
MenuManager: 1.8.5
MicroTiny: 1.2.5
ModuleManager: 1.5.5
Showtime: 3.3
ThemeManager: 1.1.7
FormBuilder: 0.7.3
Captcha: 0.4.5
Guestbook: 1.4_RC2
CGExtensions: 1.31.4
SiteMapMadeSimple: 1.2.7

Config Information:
php_memory_limit:
process_whole_template:
output_compression:
max_upload_size: 64000000
url_rewriting: mod_rewrite
page_extension: .html
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale: fr_FR
default_encoding: utf-8
admin_encoding: utf-8
set_names: true

Php Information:
phpversion: 5.3.16
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 0
E_DEPRECATED: 8192
memory_limit: 128M
max_execution_time: 120
output_buffering: 4096
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 64M
upload_max_filesize: 64M
session_save_path: /tmp (1777)
session_use_cookies: On (Vrai)
xml_function: On (Vrai)
xmlreader_class: On (Vrai)

----------------------------------------------


Bonjour,


j'ai un petit souci d'encodage des caractères avec le module Livre d'or / Guestbook.
Lorsqu'un internaute publie un message, l'administrateur reçoit par mail un message du type :

Citation :Message :
c'était un message

Ce qui n'est pas très lisible dès que le message est un peu important.
J'ai beau chercher partout depuis hier, je ne vois pas trop ou intervenir pour que les caractères spéciaux apparaissent correctement dans les mails.

Info : le module utilise la fonction mail().

Amicalement
Pour info,

les mails de test de CMS et ceux envoyés depuis FormBuilder ne posent pas ce souci.
Une petite idée ?
Rolleyes
Salut,

Peux-tu me montrer l'output d'un message qui contient d'autres caractères accentués ?
"é&àèù<>" par exemple
Bonjour Heriquet, et merci.

Voici le message envoyé depuis le formulaire du livre d'or :

Citation :C'est un message de test avec des éléments accentués & présents exprès.
- inférieur à : <
- supérieur à : >
- u avec accent : ù...
Etc etc....

Et voici comment il arrive par mail :

Citation :C'est un message de test avec des éléments accentués &amp; présents exprès.
- inférieur à : &lt;
- supérieur à : &gt;
- u avec accent : ù...
Etc etc....

Seuls les accents semblent ne pas poser de problème...
Ok ca doit être un bug dans le module...

As-tu déjà utilisé le module précédemment et sans le problème ? Ou avec succès sur un autre site ?
Non, le module vient tout juste d'être incorporé par le gestionnaire de modules.
Ok et il n'y a pas une option pour envoyer des mails au format HTML avec le Guestbook ?
Je crains que non, au niveau du mail on ne peut pas configurer grand chose.
On a juste ce gabarit :

Code :
[== Indéfini ==]
{$notification_message}

{$titles.sender} : {$values.sender}
{if $values.country}
{$titles.country}: {$values.country}
{/if}
{if $values.location}
{$titles.location}: {$values.location}
{/if}
{if $values.email}
{$titles.email}: {$values.email}
{/if}
{if $values.homepage}
{$titles.homepage}: {$values.homepage}
{/if}

{$titles.message}:
{$values.message}

...
Bon je n'ai pas testé, mais si tu remplaces
Code :
[== Indéfini ==]
{$values.message}
par
Code :
[== Indéfini ==]
{$values.message|htmlentities}

Ca n'aide pas un peu ?
Re bonjour Heriquet,

après une petite absence...

J'avais déjà testé cela (htmlentities) malheureusement cela ne change strictement rien...
Et je ne vois pas en Smarty ce que je pourrais ajouter d'autre à la place de htmlentities pour modifier cette variable.

Je ne pense pas être la seule à avoir ce souci sur ce module, quelqu'un a t'il fait des tests et observé la même chose ?
Y a pas une option dans Guestbook qui permet de spécifier que tu envois des mails en HTML et pas en bête texte ?

Sinon essaie peut-être html_entity_decode qui me semble être plus confirme à ton souci...
Oui c'est mieux, sauf le ' (apostrophe) qui fait de la résistance.

Quand j'envoie

Code :
c'est un test
>
<
&
Je reçois

Code :
c'est un test
>
<
&


malgré tout y a déjà un mieux... !
Bonjour Heriquet,

escape en fait fait le contraire de ce que je cherche, il échappe l'apostrophe (ou quote)
- en le transformant en son équivalent ',
- ou en lui ajoutant le caractère d'échappement /, ce qui nous donne un pas très joli /'.

Enfin bref, j'ai résolu le problème grâce à la piste html_entity_decode, en ajoutant ceci à ma variable pour le dernier problème de l'apostrophe :

Code :
{$values.message|html_entity_decode|replace:"'":"'"}

Il y a double-quotes dans les dernières paramètres smarty, ce qui n'est pas très conventionnel, mais c'est une façon d'y placer mon ' sans que ça pose problème. En tous cas, ça marche !

Merci Heriquet pour m'avoir permis d'en arriver là.

Je mets le post en résolu Smile
Ok content que ca marche.

Par curiosité, si tu fais

Code :
[== Indéfini ==]
{$values.message|html_entity_decode:ENT_QUOTE}

Ca fonctionne ?
Non,

dans ce cas rien ne s'affiche, j'ai un "blanc" en lieu et place de mon message.
Ok c'est que la syntaxe est différente dans smarty.

Et comme ca ?

Code :
[== Indéfini ==]
{$values.message|html_entity_decode:$smarty.const.ENT_QUOTES}
Oui avec cette dernière formulation ça marche bien.
Elle est propre que la mienne alors je la remplace par celle-ci.
merci Wink !
Parfait !

Bonne continuation.
je clôture. Me contacter en cas de demande de réouverture