gpt4 book ai didi

parse-platform - 如何使用 REST API 在 parse.com 中保存特殊字符

转载 作者:行者123 更新时间:2023-12-02 03:44:20 25 4
gpt4 key购买 nike

有谁知道我们应该如何调用 REST API 来存储特殊字符?我尝试了以下方法:

  • 完全没有特殊处理。我注意到 Parse 可以处理特殊字符,例如 #@$ 等,所以我想我会试一试。这最终没有运气。示例 curl 查询是:

curl -X POST\
-H "X-Parse-Application-Id: appId"\
-H“X-Parse-REST-API- key :apikey”\
-H“内容类型:应用程序/json;”\
-d '{"testString":"é"}'\
https://api.parse.com/1/classes/TestObject

这会返回“{"code":107,"error":"The object contained an invalid utf8 string"}",这符合预期。

  • 然后我想我会在 post 调用中添加字符集 header ,即

curl -X POST\
-H "X-Parse-Application-Id: appId"\
-H“X-Parse-REST-API- key :apikey”\
-H“内容类型:应用程序/json;字符集=utf-8”\
-d '{"testString":"é"}'\
https://api.parse.com/1/classes/TestObject

这将返回与第一次尝试相同的结果。

  • 好的,然后我尝试手动将其编码为 UTF-8,即

curl -X POST\
-H "X-Parse-Application-Id: appId"\
-H“X-Parse-REST-API- key :apikey”\
-H“内容类型:应用程序/json;字符集=utf-8”\
-d '{"testString":"%C3%A9"}'\
https://api.parse.com/1/classes/TestObject

现在这确实创建了行,但是,值实际上是 %C3%A9 而不是 é。我尝试取出 header 中的字符集值,但似乎也无济于事。

  • 我注意到通过数据浏览器一切正常。所以我监视 js 查询以查看 db 发送了什么。结果是浏览器正在为 é 发送 É。然后我继续改变我的 curl ,tada,我明白了,即

curl -X POST\
-H "X-Parse-Application-Id: appId"\
-H“X-Parse-REST-API- key :apikey”\
-H“内容类型:应用程序/json;字符集=utf-8”\
-d '{"testString":"É"}'\
https://api.parse.com/1/classes/TestObject

终于给了我想要的东西,那就是 value é。

现在我很疑惑,什么样的编码把é转成É?我还需要处理各种其他特殊的外来字符,我需要找到一种方法将它们可靠地编码成预期的格式...

提前致谢!

最佳答案

我刚刚在 OSX 的终端中尝试过,没有问题:


curl -X POST\
-H "X-Parse-Application-Id: appID"\
-H“X-Parse-REST-API- key :restKey”\
-H“内容类型:应用程序/json;”\
-d '{"testString":"é"}'\
https://api.parse.com/1/classes/TestObject

enter image description here

终端中的字符编码设置为 UTF-8。但是,当更改为 ISO-8859-1 时,我得到了与您相同的错误:

{"code":107,"error":"invalid utf-8 string was provided"}

所以@ahoffer 可能是正确的,您没有将 utf-8 设置为终端的字符编码。

关于parse-platform - 如何使用 REST API 在 parse.com 中保存特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18030406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com