切换到 API v2 时出现 Dialogflow 编码问题
Dialogflow Encoding Problems when switching to API v2
我在 Google 上使用 Dialogflow 进行操作。 fulfillment webhook 托管在 AWS Lambda 上并使用 Actions on Google NodeJS SDK 版本 2.0.1
.
实现
当我在 Dialogflow 代理的常规设置中 select 旧 API 版本 V1 API
时,一切正常。
切换到 V2 API
会导致编码问题。这会影响我的操作的德语版本中的变音符号(例如 ä
转换为 ä
)。
查看在 Dialogflow 控制台中发出的测试请求的 诊断信息 我可以看到 Fulfillment Response 仍然被正确编码, 但 原始 API 响应 包含奇怪编码的字符。
知道这里发生了什么吗?
感谢您的帮助!
将 Google NodeJS SDK 上的操作从版本 2.0.1
升级到 2.1.1
解决了问题。
在版本 2.0.1
中,响应中缺少 Content-Type: application/json;charset=UTF-8
header。由于在 this commit 中添加了发回 headers 的功能,因此问题消失了。
我在 Google 上使用 Dialogflow 进行操作。 fulfillment webhook 托管在 AWS Lambda 上并使用 Actions on Google NodeJS SDK 版本 2.0.1
.
当我在 Dialogflow 代理的常规设置中 select 旧 API 版本 V1 API
时,一切正常。
切换到 V2 API
会导致编码问题。这会影响我的操作的德语版本中的变音符号(例如 ä
转换为 ä
)。
查看在 Dialogflow 控制台中发出的测试请求的 诊断信息 我可以看到 Fulfillment Response 仍然被正确编码, 但 原始 API 响应 包含奇怪编码的字符。
知道这里发生了什么吗?
感谢您的帮助!
将 Google NodeJS SDK 上的操作从版本 2.0.1
升级到 2.1.1
解决了问题。
在版本 2.0.1
中,响应中缺少 Content-Type: application/json;charset=UTF-8
header。由于在 this commit 中添加了发回 headers 的功能,因此问题消失了。