zoukankan      html  css  js  c++  java
  • 支付宝即时到账接口中文乱码问题

    遇见乱码的情况一般都是粗心大意造成的,就像我今天对接支付宝支付接口碰到的中文商品名称在支付宝收银台乱码了,找了半天问题原来是控制层没有设置响应编码造成的。

    //设置返回字符编码,设置返回内容类型防止中文乱码
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");

    这两句代码在向客户端响应之前执行才会有效果。

    第一句代码是设置字符集的编码utf-8,如果第二句代码的编码设置不同,则第一句代码设置的编码将覆盖第二句设置的编码。

    第二句代码是告诉浏览器我响应的内容是"text/html"类型,字符集编码为"utf-8",你可以通过浏览器自带的调试工具查看响应头信息,它会显示在响应头信息中。

    如果第二句代码可以解决掉问题,第一句代码我感觉没有必要留着,它只是设置响应字符集编码,第二句已经包含了字符集编码,并且第一句代码只是设置字符集编码并没有什么效果,因为它不会向客户端通知响应的编码信息。

    如果上面说的不对,请告知,因为本人对javaweb知识了解并不深。

    如果乱码还无法解决,请检查编码是否统一(比如:存的是utf-8编码字符串,取也要按utf-8编码来取)

  • 相关阅读:
    使用logstash迁移ES1.x数据到ES6.x
    Kafka版本升级
    linux配置Mariadb双主互备
    OS7误删yum
    python中运行js代码 js2py
    python获取js里window对象
    python使用execjs执行js
    .Net Core AddTransient、AddScoped和AddSingleton的使用
    查询SQL Server数据库应用程序访问等待执行的SQL
    Spring Boot 2.4.0 发布说明
  • 原文地址:https://www.cnblogs.com/hihtml5/p/5656355.html
Copyright © 2011-2022 走看看