使用json格式时出现中文乱码的问题

出现中文乱码


在web的程序编写中有时候会使用到json,但是涉及到中文的时候,则容易出现乱码问题,以下是xml以及java代码这两种修改方式
首先是xml这种写法,这种写法中加一些配置就好
在mvc的xml中加入以下配置

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg name="defaultCharset" value="UTF-8"></constructor-arg>
            </bean>
<!--            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">-->
<!--                <property name="defaultCharset" value="UTF-8"></property>-->
<!--            </bean>-->
        </mvc:message-converters>
</mvc:annotation-driven>

这是fastjson以及jkson这两种json的配置
如果是Java代码的方法的话则如下:

@ComponentScan("com.blb")
@EnableWebMvc
public class WebConfig  implements WebMvcConfigurer {
    @Override
    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        List<MediaType> list = new ArrayList<MediaType>();
        MediaType mediaType = new MediaType("text", "plain", Charset.forName("utf-8"));
        list.add(mediaType);

        //string转换器
        StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(Charset.forName("utf-8"));
        stringHttpMessageConverter.setSupportedMediaTypes(list);
        converters.add(stringHttpMessageConverter);

//        FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
//        fastJsonHttpMessageConverter.setDefaultCharset(Charset.forName("utf-8"));
//        converters.add(fastJsonHttpMessageConverter);
    }
}

以上为两种json格式的java写法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您在使用JSON格式进行HTTP POST请求,遇到了乱码问题,可能有几个原因导致了这个问题。首先,请确保您的请求和响应都使用了相同的字符编码,比如UTF-8。您可以在请求和响应的Content-Type头部中指定字符编码。其次,如果您将JSON作为字符串传递到后端,然后再解析成JSON对象,那么请务必确保在将字符串转换成JSON对象之前,使用正确的字符编码进行解码。例如,在Java中,您可以使用URLDecoder类来解码字符串。引用展示了将JSON字符串转换成JSON对象的示例代码。 另外,还有一个可能的原因是,在将JSON字符串作为请求体发送,没有正确地设置请求头部的Content-Type为application/json。这可能会导致后端无法正确解析JSON请求体,并导致乱码问题。您可以参考引用中的示例代码,使用HttpURLConnection或HttpClient库来发送带有JSON请求体的HTTP POST请求,并设置正确的Content-Type头部。 最后,如果您在后端接收到JSON请求体仍然遇到乱码问题,您可以尝试在后端代码中打印出接收到的JSON字符串,以检查是否在请求体传输过程中发生了乱码。引用展示了在Java中打印JSON字符串的示例代码。通过查看打印出的JSON字符串,您可以确定是否在传输过程中出现乱码。 综上所述,要解决JSON格式入参乱码问题,您可以确保使用相同的字符编码、正确设置Content-Type头部,并在代码中检查传输过程中的乱码情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [curl中通过json格式吧post值返回java中遇到中文乱码问题](https://blog.csdn.net/weixin_40918067/article/details/117840521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [json入参的接口乱码问题解决](https://blog.csdn.net/phoenix_cat/article/details/84748510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值