Estoy usando la integración de Dialogflow CX Messenger para uno de mis bots. Estoy tratando de usar estas funciones . Funcionan bien hasta que uso ciertos caracteres especiales, como los caracteres acentuados. Esto sucede comúnmente ya que uno de los idiomas de mi bot es el español.
Por ejemplo: "This is displayed correctly, until I use spanish characters such as ¿ Á é ñ . Emoji break it too: 🤔"
termina mostrándose como This is displayed correctly, until I use spanish characters such as ¿ à é ñ . Emoji break it too: 🤔
Ejemplo de cómo se ve la salida en el mensajero mismo
Esto no sucede cuando el mensaje en sí proviene de Dialogflow, funciona bien cuando la respuesta proviene de allí. Incluso los emojis funcionan. El problema solo aparece cuando trato de usar estas funciones.
Mi código usa el código de inserción proporcionado por la consola Dialogflow CX, y agregué un script que se ve así
window.addEventListener('dfMessengerLoaded', function (event) { const exampleText = "This is displayed correctly, until I use spanish characters such as ¿ Á é ñ . Emoji break it too: 🤔"; dfMessenger = document.querySelector('df-messenger'); dfMessenger.renderCustomText(exampleText); });Intenté usar la función renderCustomCard() y me encontré con el mismo problema.
¡Se agradece mucho cualquier ayuda! Gracias
Terminé resolviéndolo, el problema no estaba en la función en sí.
Es solo que me faltaba una referencia UTF-8: <meta charset="UTF-8" /> en mi HTML. Una vez que se agregó esto, todo funcionó correctamente.
Lo que encontré extraño es cómo el texto enviado desde Dialogflow se muestra correctamente sin la necesidad de esta etiqueta, razón por la cual diagnosticé mal el problema.