欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Retrofit 中文乱码问题的解决办法

程序员文章站 2023-11-28 21:23:16
android retrofit 中文乱码问题的解决办法 使用retrofit和rxjava,提交数据时需注意,当数据中有中文时,传到后台,可能会是乱码,需处理: 解决...

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

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

解决:

1.get请求改成post;

2.参数field改成query

3.加上@formurlencoded

如下:

@formurlencoded
@post("/test/test")
call<response> register(@field("name") string name); 
@formurlencoded
@post("/test/test")
call<someresponse> someendpoint(@fieldmap map<string, string> names);

解决例子:

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

//支付订单
  @get("app/shopcart/pay")
  observable<normalresult> payorder(
      @query("token") string token, @query("shopcartidarray") string[] shopcartidarray, @query("name") string name, @query("remake") string remake

  );

修改为:

//支付订单
  @formurlencoded
  @post("app/shopcart/pay")
  observable<normalresult> payorder(
      @field("token") string token, @field("shopcartidarray") string[] shopcartidarray,@field("name") string name, @field("remake") string remake

  );

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