解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题

解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题

官方上传命令

curl -F file=@"315.apk" -F uKey=XXX -F _api_key=OOO -F updateDescription=中文 http://www.pgyer.com/piv1/app/upload

问题描述

同样的命令:

  • 在Mac平台上传IPA文件时,能够正常显示中文更新描述
  • 但是在Windows平台上传APK文件时,“更新提示”却显示空白.
  • 英文“更新提示”则始终能够正常显示.

解决方案1(失败)

Content-Type: application/x-www-form-urlencoded; charset=utf-8 请求失败提示"不支持的字符集"
Content-Type: multipart/form-data; charset=utf-8 能上传成功,但是还是不支持中文提示.

解决方案2(成功)

参考资料: 在Windows7中,默认编码GB2312,如何用CURL调用BMOB REST API成功写入中文? - Bmob后端云

有人提示在cygwin 中运行 curl 能正常提交中文.于是就试了一下.果然可以!

整个Cygwin环境大于100多MB,但是经过手工提取出cURL相关依赖DLL之后,只需要11.5MB

所以真正解决问题的是 cURL 程序本身.

那些同样版本号打包的独立的cURL程序却始终无法正确上传中文.
如:

curl-7.50.3-win64-mingw.7z
curl_7_50_3_openssl_nghttp2_x64.7z

提取过程参见:Cygwin 版本的 Curl 安装,提取,使用笔记 - Asion Tang - 博客园

上一篇:iOS开发遇到的坑之七--上传app Stroe被拒绝:The app references non-public symbols in : _UICreateCGImageFromIOSurface


下一篇:android: SQLite创建数据库