前言

最近给自己做的基于javaweb的临时文件中转站小项目添加了一个二维码分享功能。由于我对上传的文件没有做任何处理,在文件名包含中文时,QRCode.js插件并不能把包含中文字符的url链接生成二维码。

正文

既然有中文字符不能生成二维码,那就把中文字符转码。
一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。
编码我使用到了JavaScript的encodeURI()函数。

//判断是否为网址并将其中的中文转码
        function ChangeUrl(str){
            var patt = new RegExp("http[s]?://");
            if(patt.test(str)){
                str=encodeURI(str);
            };
            return str;
        }

这样在将字符串交给QRCode.js插件前将有中文字符的网址转换成utf8就可以正常生成二维码了。

最后,附上二维码生成器

Last modification:June 17th, 2019 at 10:32 am
If you think my article is useful to you, please feel free to appreciate