java调用接口返回乱码问题及解决

 更新时间:2024年05月13日 10:53:41   作者:一个正在努力的小白码农  
这篇文章主要介绍了java调用接口返回乱码问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java调用接口返回乱码

调用第三方接口

当调用第三方接口时,存入数据库中的数据正常,打印的数据乱码,在header中加入charset=UTF-8即可。

此处用到了hutool的依赖:

<!-- hutool工具类 -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.19</version>
        </dependency>

示例代码:

String result = HttpRequest.post("http://blog.csdn.net")
                .header("Content-Type","application/json;charset=UTF-8")
                .body(JSON.toJSONString(map))
                .execute().body();

第三方调用接口

当第三方调用咱们的接口时,可能会出现返回信息中文乱码的情况,我们在自己的方法的注解上加produces = "application/json;charset=utf-8"即可

如下所示:

@RequestMapping(value = "/haimian",produces = "application/json;charset=utf-8")

这两种方式就是解决调用接口返回信息乱码的方法。

java接口返回信息中有小部分汉字乱码,问题原因及解决

问题原因

接口返回的信息长度过大,用指定长度的字节数组接收流中的数据,当超过字节数组大小时会分隔读取,如果此时正好分隔到汉字时,就会产生乱码。

如下示例代码:当接口返回的信息字节大小超过4096,汉字就可能产生乱码。

解决方案

1、用字符数组替换字节数组;

2、扩大字节数组的大小,保证流中的汉字不会被分隔。

示例代码用方案1:用字符数组替换字节数组。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法

    spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法

    这篇文章主要介绍了spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法,需要的朋友可以参考下
    2018-03-03
  • Java高效映射工具MapStruct的使用示例

    Java高效映射工具MapStruct的使用示例

    MapStruct 是一个 Java 注解处理器,用于在不同 Java Beans 或数据传输对象(DTOs)之间自动生成类型安全的映射代码,这是一个编译时映射框架,意味着它利用注解在编译时生成代码,本文将给大家介绍一下Java注解处理器MapStruct的使用示例,需要的朋友可以参考下
    2023-12-12
  • Java中常用缓存Cache机制的实现

    Java中常用缓存Cache机制的实现

    这篇文章主要介绍了Java中常用缓存Cache机制的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • java项目中常用指标UV PV QPS TPS含义以及统计方法

    java项目中常用指标UV PV QPS TPS含义以及统计方法

    文章介绍了现代Web应用中性能监控和分析的重要性,涵盖了UV、PV、QPS、TPS等关键指标的统计方法,并提供了示例代码,同时,文章还讨论了性能优化和瓶颈分析的策略,以及使用Grafana等可视化工具进行监控与告警的重要性
    2025-01-01
  • Elasticsearch中store field与non-store field的区别说明

    Elasticsearch中store field与non-store field的区别说明

    这篇文章主要介绍了Elasticsearch中store field与non-store field的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java中split根据"."分割字符串问题举例

    Java中split根据"."分割字符串问题举例

    split表达式其实就是一个正则表达式,* | . ^ 等符号在正则表达式中属于一种有特殊含义的字符,下面这篇文章主要给大家介绍了关于Java中split根据“.“分割字符串问题的相关资料,需要的朋友可以参考下
    2022-10-10
  • springboot注入servlet的方法

    springboot注入servlet的方法

    本篇文章主要介绍了springboot注入servlet的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • java 获取子串速率比较分析

    java 获取子串速率比较分析

    这篇文章主要为大家介绍了java 获取子串速率比较分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Jersey框架的统一异常处理机制分析

    Jersey框架的统一异常处理机制分析

    初学者往往不清楚java的异常为什么会设计成这个样子,他们通常会对异常只进行简单的处理
    2016-07-07
  • SpringBoot 如何读取pom.xml中的值

    SpringBoot 如何读取pom.xml中的值

    这篇文章主要介绍了SpringBoot 如何读取pom.xml中的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论