我最近开始使用OpenWhisk并喜欢它。 除了遇到一些可能与字符集/编码有关的问题外,一切似乎都很好用。
E.g。当我使用“斯堪的纳维亚字符”时,比如æ,ø,å,我在OpenWhisk Web编辑器中看到这个,当调用带有效载荷的动作/触发器时:
{
"station": "Rådhuset",
"no2": 8.7,
"pm10": 6.5,
"pm25": 2.2,
"time": 1461348000,
"id": "Rådhuset-1461348000"
}
我得到以下结果/响应有效负载:
{
"notify": "Station R??dhuset != R���dhuset"
}
调用的操作中的主要功能如下所示:
var payload = params.payload || params;
var station = 'Rådhuset';
if (station == payload.station) {
...
} else
return whisk.done({notify : 'Station ' + station + ' != ' + payload.station});
运行没有这些字符的操作时,例如“Kirkeveien”,一切正常。
还有其他人遇到类似的情况吗?!
答案 0 :(得分:0)
存在非ASCII字符的已知缺陷。 https://github.com/openwhisk/openwhisk/issues/252
可能的解决方法是对字符串进行编码(例如base64编码)。
答案 1 :(得分:0)
尝试编码:
var payload = params.payload || params;
var station = 'Rådhuset';
if (station == payload.station) {
...
} else
return whisk.done({notify : 'Station ' + encodeURIComponent(station) + ' != ' + encodeURIComponent(payload.station)});