java前后端分离项目生成二维码链接带中文参数遇到的问题及解决办法(代码片段)

Freeguy88 Freeguy88     2023-02-02     740

关键词:

遇到的问题

最近项目做二维码分享链接过程中遇到了个小问题,使用Java后端生成二维码链接时,当拼接的参数中带有中文,使用手机浏览器扫码正常,但是用微信扫码,url中的中文被和谐掉了,导致页面显示有问题。

解决办法

解决方案首先想到的就是url编码以及转码,即后端将url进行编码,然后在前端进行解码。下面分享一种网上找到的博主的解决办法,留作备忘。

  • 后端创建编码工具类 UriEncoder(核心方法如下)
public static String encodeURIComponent(String input)
    
        if (null == input || "".equals(input.trim()))
        
            return input;
        

        int l = input.length();
        StringBuilder o = new StringBuilder(l * 3);
        try
        
            for (int i = 0; i < l; i++ )
            
                String e = input.substring(i, i + 1);
                if (ALLOWED_CHARS.indexOf(e) == -1)
                
                    byte[] b = e.getBytes("utf-8");
                    o.append(getHex(b));
                    continue;
                
                o.append(e);
            
            return o.toString();
        
        catch (UnsupportedEncodingException e)
        
            e.printStackTrace();
        
        return input;
    

    private static String getHex(byte buf[])
    
        StringBuilder o = new StringBuilder(buf.length * 3);
        for (int i = 0; i < buf.length; i++ )
        
            int n = (int)buf[i] & 0xff;
            o.append("%");
            if (n < 0x10)
            
                o.append("0");
            
            o.append(Long.toString(n, 16).toUpperCase());
        
        return o.toString();
    
  • 在项目拼url链接中使用(示例)
String act_name_encode = UriEncoder.encodeURIComponent(act_name);
  • 前端解析链接(不需要解码)uniapp 解析示例
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组

//如果是H5,则需要curPage.$route.query(H5中的curPage.options为undefined)
let curParam = routes[routes.length - 1].options || routes[routes.length - 1].$route.query; //获取路由参数
//获取参数
let param = [];
for (let key in curParam) 
    param.push(curParam[key]);

let act_name = param[0];

java前后端分离项目生成二维码链接带中文参数遇到的问题及解决办法(代码片段)

遇到的问题最近项目做二维码分享链接过程中遇到了个小问题,使用Java后端生成二维码链接时,当拼接的参数中带有中文,使用手机浏览器扫码正常,但是用微信扫码,url中的中文被和谐掉了,导致页面... 查看详情

基于vue的前后端分离项目实践

一、为什么需要前后端分离1.1什么是前后端分离 前后端分离这个词刚在毕业(15年)那会就听说过,但是直到17年前都没有接触过前后端分离的项目。怎么理解前后端分离?直观的感觉就是前后端分开去做,即功能和职责上... 查看详情

springboot前后端分离项目session问题解决

  最近接手了一个新项目,采用了SpringBoot前后端分离开发,勉强算是吧,因为我们没使用VUE。那么今天就遇到一个问题,登录之后把用户信息存放到了Session中,但是我在其他方法中从Session域再次拿用户信息时,却发现session... 查看详情

全程真实数据对接带你从0开发前后端分离的企业级上线项目

<ignore_js_op> 第1章课程介绍(2018配套教程:电商前端+电商后端+电商权限管理系统课程)本章中会先让大家了解课程整体情况,然后手把手带大家做一些开发前的准备工作。后台管理系统测试账号和密码(切勿修改,... 查看详情

springboot+apacheshrio+jwt前后端分离项目(代码片段)

权限类说明:ShiroConfig.java:ApacheShrio配置对象UserRealm.java:自定义认证类JWTToken.java:自定义凭证类JWTFilter.java:自定义权限验证拦截器JWTUtils.java:生成和校验token工具类权限类源码:importorg.apache.shiro.mgt.DefaultSessionS 查看详情

java精品项目前后端分离源码第38期疫情社区管理平台

Java精品项目前后端分离源码第38期疫情社区管理平台大家好,小辰今天给大家介绍一个前后端分离疫情社区管理平台,演示视频公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目前后端分离源码第38期... 查看详情

java精品项目源码前后端分离项目第15期花店商城系统

Java精品项目源码前后端分离项目第15期花店商城系统大家好,小辰今天给大家介绍一个基于SpringBoot+Vue实现的花店商城系统,演示视频文章末尾公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源... 查看详情

java精品项目前后端分离源码39期家庭财务管理系统

Java精品项目前后端分离源码39期家庭财务管理系统大家好,小辰今天给大家介绍一个前后端分离家庭财务管理系统,演示视频公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目前后端分离源码39期家庭... 查看详情

java精品项目源码前后端分离项目第20期宠物商城系统

Java精品项目源码前后端分离项目第20期宠物商城系统大家好,小辰今天给大家介绍一个宠物商城系统,演示视频文章末尾公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源码前后端分离项目第20期宠... 查看详情

八个开源的springboot前后端分离项目,一定要收藏!

八个开源的SpringBoot前后端分离项目最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前后端分离开发,以免在... 查看详情

八个开源的springboot前后端分离项目,一定要收藏!

八个开源的SpringBoot前后端分离项目最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前后端分离开发,以免在... 查看详情

java精品项目源码前后端分离项目第12期考试管理系统

Java精品项目源码前后端分离项目第12期考试管理系统大家好,小辰今天给大家介绍一个基于SpringBoot+Vue实现的考试管理系统,演示视频文章末尾公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源... 查看详情

java精品项目源码前后端分离项目第13期学生管理系统

Java精品项目源码前后端分离项目第13期学生管理系统大家好,小辰今天给大家介绍一个基于SpringBoot+Vue实现的学生管理系统,演示视频文章末尾公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源... 查看详情

java精品项目源码前后端分离项目第31期在线课程教育系统

Java精品项目源码前后端分离项目第31期在线课程教育系统大家好,小辰今天给大家介绍一个电影购票系统,演示视频公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源码前后端分离项目第31期在线课... 查看详情

java精品项目源码第33期前后端分离系统在线书城系统推荐版

Java精品项目源码第33期前后端分离系统在线书城系统推荐版大家好,小辰今天给大家介绍一个前后端分离在线书城系统推荐版,演示视频公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源码第33期前... 查看详情

前后端分离实践

前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化Web设计转向前后端分离的架构时,仍然不可避免的会遇到各种各样的问题。由于层出不穷的问题,甚至会有团队质疑,一体化好好的,为... 查看详情

七个开源的springboot前后端分离项目,一定要收藏!

前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年... 查看详情

java精品项目源码第34期前后端分离系统游戏资讯信息管理系统

Java精品项目源码第34期前后端分离系统游戏资讯信息管理系统大家好,小辰今天给大家介绍一个前后端分离游戏资讯信息管理系统,演示视频公众号(小辰哥的java)对号查询观看即可文章目录Java精品项目源码第34... 查看详情