使用Smartsheet卷曲命令进行UTF8编码

时间:2017-07-10 17:21:43

标签: curl smartsheet-api

我正在使用CURL向智能表添加一行但是有重音字符的问题。我看了但是找不到任何关于如何用curl命令对它们进行编码的信息。

特别是,此命令失败:

curl -k https://api.smartsheet.com/2.0/sheets/412336625340000/rows -H "Authorization: Bearer xx" -H "Content-Type: application/json" -X POST
-d "[{\"toBottom\":true},{\"toBottom\":true,\"cells\": [{\"columnId\": 2259324614535044, \"value\": \"203965\", \"format\": \",,1,,,,,,,,,,,,,\"},{\"columnId\": 6762924241900000, \"value\": \"Augmentation des trous de centrage des deux radiateurs (passage de 2mm à 2.5mm)\nAjout d¿un fournisseur sur la barrette 5pts ( J4/J10 )\", \"format\": \",,,,,,,,,,,,,,,1\"}]}]" -s -S

出现此错误消息:

{
  "errorCode" : 1008,
  "message" : "Unable to parse request. The following error occurred: Field \"value\" was not parsable. Invalid UTF-8 middle byte 0x20\n at [Source: java.io.PushbackInputStream@38dbf5a7; line: , column: 241].",
  "refId" : "13n01oko08lux"
}

如何在curl命令中编码字符?

感谢您提出任何建议。

迈克尔

1 个答案:

答案 0 :(得分:1)

这是一个卷曲问题。

在Mac上复制并粘贴帖子中的字符,无需额外更改。

我在Windows上使用curl观察到相同的错误。

这是我能找到的最好的解决方法:

  • 使用notepad ++将json有效负载保存为UTF-8 ,无需BOM
  • 告诉curl从文件中加载有效负载

这是Payload.json - 转换为UTF-8(无BOM)

[ {"toTop": true,"cells":[{"columnId":5759377954105220,"value": "API Test: à¿à"}]} ]

这是我的curl命令:

curl -X POST https://api.smartsheet.com/2.0/sheets/5670346721388420/rows -H "authorization: Bearer xxxxxxxxxx" -H "content-type: application/json" -d @payload.json