需求

我们有一个需求,是和钉钉审批打通的,然后有需要放附件的地方,没有用钉钉云盘附件的那种形式,而是直接用了单行文本框,放一个链接的形式。
然后我们文件上传用的是ali的oss,上传完成以后会得到一个类似 ossHost/文件夹名/文件名的链接,此时就会有一个问题产生,如果我的链接中带中文,当我把这个链接放到钉钉的文本框中提交以后,从中文部分开始,不会被识别为链接的一部分,这可就阿西吧了。

当时发现这个问题的时候,我基本是懵的,脑袋里完全没有解决方案,然后组长说,你试试urlencode一下再放到文本框里。

于是就得到了解决方案,下面放下代码

代码

    public static void main(String[] args) throws UnsupportedEncodingException {String url="https://test.oss-cn-beijing.aliyuncs.com/product/4567455【合规】某个使用条例.pdf";Matcher matcher =Pattern.compile("[\\u4e00-\\u9fa5]|[\\u3002\\uff1b\\uff0c\\uff1a\\u201c\\u201d\\uff08\\uff09\\u3001\\uff1f\\u300a\\u300b\\u3010\\u3011]").matcher(url);while (matcher.find()) {String tmp = matcher.group();try {url = url.replaceAll(tmp, java.net.URLEncoder.encode(tmp, "utf-8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}}System.out.println(url);}

解释

[\\u4e00-\\u9fa5] 代表匹配所有中文。
[\\u3002\\uff1b\\uff0c\\uff1a\\u201c\\u201d\\uff08\\uff09\\u3001\\uff1f\\u300a\\u300b\\u3010\\u3011] 这块是我需要匹配的符号这些,如果有需要定制的,可以自己加上。
比如用unicode 转换一下就知道自己该匹配谁了。

【java】对URL中的中文和符号进行UrlEncode转码相关推荐

  1. java http url 编码_Java中的HTTP URL地址编码

    java.net.URI类可以帮助;在URL的文档中找到 Note, the URI class does perform escaping of its component fields in ce ...

  2. java jdbc url编码_java中jdbc/sql出现编码问题

    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???è??é"?è??' in 'field li ...

  3. 解决Java工程URL路径中含有中文的情况

    问题: 当Java工程路径中含有中文时,得不到正确的路径 *** 解决: 这其实是编码转换的问题.当我们使用ClassLoader的getResource方法获取路径时,获取到的路径被URLEncod ...

  4. java处理url中的特殊字符%等

    java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志. 一个完整的URL ...

  5. java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...

    java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...

  6. java中uri什么意思,java URI URL 个人理解。

    java URI URL 个人理解. URI 是资源标识符.就是相当于一个人的家庭住址. URL和URI类似.是资源定位的. 和URI不同的就是URL提供了获取东西的方法. java.io.Input ...

  7. java 字符串原样输出_Java 中如何原样输出转义符号

    标签: Java 中的转义字符有好几种,常见的有: 八进制转义字符,格式:\ + 1到3位八进制数字,如\1, \20,范围为 \0 ~ \377,即最大值为255. Unicode转义字符,格式:\ ...

  8. java 获取域名_Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名

    Java  获取主域名方法有很多种,有的用截串方式,我用的一个投机取巧的方式,这个获取域名的方法比较简单,代码也较少. Java从URL地址中获取域名//这样获取的方式,不请求就能获取到域名 URL ...

  9. Java对URL中的中文进行UrlEncode转码

    Java对URL中的中文进行UrlEncode urleocode只是为了url中一些非ascii字符,可以正确无误的被传输. 而且有的含有中文或者特殊字符的url不能被识别,因此需要进行Encode ...

最新文章

  1. C#中Socket通信编程的异步实现
  2. SAP S/4HANA使用ABAP获得生产订单的状态
  3. ArcGIS教程:Iso 聚类非监督分类
  4. JS重写toString(),打印想要的值
  5. 什么是ZigBee技术
  6. 设计模式之adapter模式
  7. c语言画圆登录窗口,C语言画圆问题。怎么跳过画图界面直接出来了?
  8. fatal error: krb5.h: 没有那个文件或目录
  9. Ubuntu18.04(Gnome桌面)主题美化,Mac私人定制
  10. Android设置拍照或者上传本地图片
  11. 浪潮服务器开启虚拟化功能,浪潮服务器-虚拟化解决方案.ppt
  12. ACM------吃在工大(合工大OJ 1359)
  13. java-a实现压缩与解压缩(zip、gzip)
  14. 我也DIY一个Android遥控器-全部开源
  15. 应届生求职前端工程师岗位,该如何准备?
  16. 《Loy解说SpringCloud之Zuul》
  17. stm32之蓝牙无线超声波测距
  18. 广告SDK平台中的CPA、CPS、CPM、CPT、CPC 是什么
  19. 央妈是怎么印钱的(1)--资产负债表
  20. php windows 信号,win10连接投影仪无信号怎么办

热门文章

  1. 水木清华BBS各版面进版画面留念
  2. 易迅网接入微信支付,为消费者提供购物体验
  3. maven明明本地仓库有依赖包,还会远程下载的问题
  4. 你以为自己很屌,其实是你圈子弱amp;#…
  5. 这样的成品app直播源码到手一定会后悔
  6. ctf (bugku)(0和1的故事)
  7. 物联网毕设 单片机 嵌入式 题目选题推荐
  8. 51nod 1095 Anigram
  9. 关于京牌“以家庭为单位摇号”“京牌可以继承”的不合理性分析
  10. 入门c语言(四)顺序结构程序设计