You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Assistant中正确显示欧元符号?actions-on-google SDK问题

解决Google Assistant中欧元符号编码异常的配置遗漏问题

嘿,这个问题我太熟悉了!在Node.js Lambda + Google Assistant的组合里输出特殊字符(比如€),经常会因为编码配置不到位踩坑,你大概率漏了这几个关键设置:

  • 确保代码文件以UTF-8编码保存:大部分编辑器(VS Code、Sublime等)都能在状态栏切换编码,一定要选「UTF-8」(别带BOM)。如果你的.js文件用了GBK之类的其他编码,Node.js读取时会把€解析成乱码字符,自然没法正确显示在Google Assistant里。

  • 给Lambda设置UTF-8环境变量:Lambda的默认运行环境可能没指定字符编码,你可以在Lambda控制台的「环境变量」里添加 LANG = en_US.UTF-8,或者直接在代码开头加一行:

    process.env.LANG = 'en_US.UTF-8';
    

    这会强制Node.js在输出内容时使用UTF-8,避免系统默认编码(比如ASCII)导致的转码错误。

  • 配置API Gateway响应的Content-Type:进入API Gateway对应Webhook的端点设置,找到「集成响应」里的「Header Mappings」,添加Content-Type的映射值为 application/json; charset=UTF-8。API Gateway转发响应时,如果没明确指定字符集,很可能会把UTF-8字符转成其他编码,导致Google Assistant解析异常。

  • 备选方案:用Unicode转义序列代替硬编码:要是上面的配置还是没解决问题,直接用欧元符号的Unicode转义码\u20AC代替代码里的€,比如:

    conv.ask('\u20AC');
    

    这种方式完全不受文件编码和环境的影响,能百分百确保符号正确显示。

内容的提问来源于stack exchange,提问作者duffn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:20:56