我最近开始使用OpenWhisk,我很喜欢它。一切似乎都运行得很好,除了我遇到了一些可能与字符集/编码有关的问题。
例如,当我使用“斯堪的纳维亚字符”时,我在OpenWhisk网页编辑器中看到这一点,当我使用有效负载调用操作/触发器时,比如:
{
"station": "Rådhuset",
"no2": 8.7,
"pm10": 6.5,
"pm25": 2.2,
"time": 1461348000,
"id": "Rådhuset-1461348000"
}我得到以下结果/响应负载:
{
"notify": "Station R??dhuset != R���dhuset"
}调用的操作中的main函数如下所示:
var payload = params.payload || params;
var station = 'Rådhuset';
if (station == payload.station) {
...
} else
return whisk.done({notify : 'Station ' + station + ' != ' + payload.station});在没有这些字符的情况下运行操作时,例如"Kirkeveien",一切正常。
有没有其他人遇到过类似的情况?!
发布于 2016-04-23 23:17:10
存在非ASCII字符的已知缺陷。https://github.com/openwhisk/openwhisk/issues/252
一种可能的解决方法是对字符串进行编码(例如base64编码)。
发布于 2019-01-24 07:46:18
尝试编码:
var payload = params.payload || params;
var station = 'Rådhuset';
if (station == payload.station) {
...
} else
return whisk.done({notify : 'Station ' + encodeURIComponent(station) + ' != ' + encodeURIComponent(payload.station)});https://stackoverflow.com/questions/36812389
复制相似问题