我正在为我的一个机器人程序使用Dialogflow CX Messenger集成。我正在尝试使用这些函数。在我使用某些特殊字符(如重音字符(之前,它们运行良好。这种情况很常见,因为我的机器人的语言之一是西班牙语。
例如:"This is displayed correctly, until I use spanish characters such as ¿ Á é ñ . Emoji break it too: 🤔"
最终显示为This is displayed correctly, until I use spanish characters such as ¿ à é ñ . Emoji break it too: 🤔
信使中输出的示例
当消息本身来自Dialogflow时不会发生这种情况,当响应来自那里时,它可以正常工作。甚至表情符号也有效。只有当我尝试使用这些函数时,问题才会出现。
我的代码使用Dialogflow CX控制台提供的嵌入代码,并添加了一个看起来像的脚本
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);
});
我尝试过使用renderCustomCard((函数,但遇到了同样的问题。
非常感谢您的帮助!感谢
我最终弄清楚了,问题不在于函数本身。
只是我的HTML中缺少一个UTF-8引用:<meta charset="UTF-8" />
。一旦添加了这一点,一切都正常工作。
我发现奇怪的是,从Dialogflow发送的文本在不需要这个标签的情况下如何正确呈现,这就是我误诊这个问题的原因。