Mensajes de clientes con tildes o caracteres raros aparecen mal en Prestashop.

Tenemos varios clientes con Prestashop, con varias versiones (1.6 y 1.7 en estos momentos). Y en alguno de ellos (no todos) ha ocurrido algo muy curioso: los mensajes de los clientes muestran las tildes y los caracteres raros como la ñ con símbolos raros. De esta manera:

<p>m&aacute;s , hab&iacute;a, est&aacute;bamos, Espa&ntilde;a&nbsp;&nbsp;</p>

El problema es que los mensajes están hechos para entender lo que nos dicen los clientes, y así no hay manera.

Hoy os damos una solución que nos ha funcionado con un cliente.

Solución.

Tenéis que editar los siguientes ficheros de Prestashop.

  1. Fichero /adminXXXXX/themes/default/template/controllers/orders/helpers/view/view.tpl  donde XXX varía en cada instalación. Este es el fichero que regula cómo se ven los mensajes en los pedidos.

    Tienes que ir a la línea que pone:

    <p class="message-item-text"> {$message['message']|escape:'html':'UTF-8'|nl2br} </p>

    y sustituirla por (añade un unescape en vez de escape):

    <p class="message-item-text"> {$message['message']|unescape:'html':'UTF-8'|nl2br} </p>

  2. Fichero /adminXXXX/themes/default/template/controllers/customer_threads/helpers/view/message.pl . Este es el fichero que regula cómo se ven los mensajes en la sección Servicio al Cliente.

    Hay que ir a la línea que pone:

    <p class="message-item-text">{$message.message|escape:'html':'UTF-8'|nl2br}</p>

    y cambiarla por:

    <p class="message-item-text">{$message.message nofilter}</p>

Esto nos funcionó a nosotros y con ello nuestros clientes al final se enteran de lo que les piden los suyos. Fuente aquí.