android retrofit 中文乱码问题的解决办法

使用retrofit和rxjava,提交数据时需注意,当数据中有中文时,传到后台,可能会是乱码,需处理:

解决:

1.get请求改成post;

2.参数field改成query

3.加上@formurlencoded

如下:

@formurlencoded

@post("/test/test")

call register(@field("name") string name);

@formurlencoded

@post("/test/test")

call someendpoint(@fieldmap map names);

解决例子:

如此写上报后台会有乱码:(若name和remark有中文)

//支付订单

@get("app/shopcart/pay")

observable payorder(

@query("token") string token, @query("shopcartidarray") string[] shopcartidarray, @query("name") string name, @query("remake") string remake

);

修改为:

//支付订单

@formurlencoded

@post("app/shopcart/pay")

observable payorder(

@field("token") string token, @field("shopcartidarray") string[] shopcartidarray,@field("name") string name, @field("remake") string remake

);

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐