Firebase 函数不打印 UTF8 特殊字符 ��

Posted

技术标签:

【中文标题】Firebase 函数不打印 UTF8 特殊字符 ��【英文标题】:Firebase Functions not printing UTF8 Special Characters �� 【发布时间】:2018-08-11 22:34:56 【问题描述】:

我使用 Firebase 函数作为 webhook 将 JSON 响应返回到 DialogFlow(以运行语音机器人)。

当我返回包含重音/特殊字符(é、è、€ ...)的句子的 JSON 时,它会在 DialogFlow 中打印 ��。

我的代码:

'use strict';

process.env.DEBUG = 'actions-on-google:*';
const  DialogflowApp  = require('actions-on-google');

exports.cryptoBot = functions.https.onRequest((request, response) => 

  const app = new DialogflowApp(request, response);

  function launchQuizz (app) 
      textResponse = "Voici la première question :"
      app.ask("<speak>" + textResponse + "</speak>");
  

  let actionMap = new Map();
  actionMap.set("quizz", launchQuizz);
  app.handleRequest(actionMap);
);

这可能很容易解决,但我尝试了不同的方法(utf8 标头,utf8 编码我的文本......),到处找,我找不到任何解决方案。谢谢你的帮助:)

【问题讨论】:

【参考方案1】:

找到解决方案:似乎 Microsoft Visual Studio 使用奇怪的编码保存 JS。

我需要做 File > Save as... > 部署按钮 Save 旁边的小下拉菜单 > 选择 Save with encoding > UTF8

【讨论】:

以上是关于Firebase 函数不打印 UTF8 特殊字符 ��的主要内容,如果未能解决你的问题,请参考以下文章

php 使用iconv函数将字符串从utf8转到gbk,怎么保留特殊字符串!

php邮件特殊字符utf8

Lua:具有特殊字符的String的字符串长度不正确

php怎样过滤掉特殊字符啊 ☺

在C中java.text.Normalizer.Form.NFD和utf8 proc之间的编码问题

Laravel 不在“公共”服务器上显示特殊的 UTF8 字符