Google动作-使用AWS API Gateway时的UTF-8解码

时间:2018-08-22 20:51:34

标签: utf-8 aws-lambda aws-api-gateway actions-on-google

我正在Google上进行我的第一个Action,但很头疼,想弄清楚如何在基本卡和语音文字中显示Unicode字符。

例如,“Beyoncé”在模拟器和手机上均显示为“Beyoncé©”。

数据来自我的Amazon API Gateway,该API返回Lambda的结果。此处的日志显示了正确的格式,所以我猜我的Action设置不正确?

有趣的是,表情符号都不渲染(在同一lambda中硬编码)。遵循了本指南https://developers.google.com/actions/assistant/responses#rich-responses,所以我必须缺少一些配置吗?

在Webhook的DialogFlow实现设置中,我已将字符集设置为UTF-8,并将Content-Type设置为application / json

还有其他配置吗?

1 个答案:

答案 0 :(得分:2)

我的解决方案是向我的AWS API Gateway添加更多配置设置。似乎DialogFlow v2不再假设(或默认为?)Web挂钩响应的utf-8字符集。

只需将id添加到您的方法响应标头中,而不要依赖此值从请求标头中保留下来。

Method Response Content Setting