中文乱码之springboot框架中两工程之间参数传递乱码
springboot的分布式开发中,偶尔会遇到中文参数传递乱码的问题,并且当前遇到的是只有某一台电脑上才出现该情况,为此在接受参数的工程接口处添加了一个判断是否中文,如果否则做转换(前提是这个参数必须只能是中文)
1 @RequestMapping(value = "/getCarList", method = RequestMethod.GET) 2 public ResultObject getCarByCpName(@RequestParam(value = "cpName",required = true)String cpName,@RequestParam(value = "carNo",required = false)String car_no) { 3 4 char[] isc = cpName.toCharArray(); 5 boolean is = true; 6 for (char c : isc) { 7 is = isChinese(c); 8 if (!is) break; 9 } 10 //boolean isc = isChinese(cpName.getBytes()); 11 if (!is) { 12 try { 13 cpName = new String(cpName.getBytes("ISO-8859-1"),"UTF-8"); 14 } catch (Exception e) { 15 e.printStackTrace(); 16 } 17 } 18 ResultObject rst = commonService.getCarByCpName(cpName, car_no); 19 return rst; 20 } 21 22 /** 23 * 判断字符是否是中文 24 * 25 * @param c 字符 26 * @return 是否是中文 27 */ 28 public static boolean isChinese(char c) { 29 Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); 30 if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS 31 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS 32 || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 33 || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION 34 || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION 35 || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { 36 return true; 37 } 38 return false; 39 }
如上所示,因为参数设置了必须有,所以没做空判断,首先将字符串转换为char数组,然后循环检测所有字符,如果不是中文则将原字符串做转换
转载于:https://www.cnblogs.com/binTke170120/p/8085707.html
中文乱码之springboot框架中两工程之间参数传递乱码相关推荐
- SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录
1.开始 在Springboot框架中引入AOP <dependency><groupId>org.springframework.boot</groupId>&l ...
- SpringBoot框架中解决日期展示问题
SpringBoot框架中解决日期展示问题 参考文章: (1)SpringBoot框架中解决日期展示问题 (2)https://www.cnblogs.com/w-essay/p/11453751.h ...
- SpringBoot框架中各层(DTO、DAO、Service、Controller)理解
粗略理解 View层→Controller层(响应用户请求)→Service层(接口→接口实现类)→DAO层,即Mapper层(抽象类:xxxMapper.java文件,具体实现在xxxMapper. ...
- 微软算法100题11 求二叉树中两节点之间的最大距离
第11 题 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数. 写一个程序, 求一棵二叉树中相 ...
- 二叉树中两节点之间最短路径
折腾了一下午,在参考 liuyi1207164339帖子和 ethannnli的帖子的基础上搞定了这个问题.刚开始头真的大了,感觉有点超出能力范围了.分析了他们的思路,求解这个二叉树中两节点的最短路径 ...
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...
- 【Maven】一文就解决springboot框架中创建maven所有问题
声明 以下问题均为我创建项目中所遇到的问题,不一定具有普适性.另外错误案例也没有既是保存,还望海涵 下载Maven 首先进入maven官网,地址在这里 windows选择下载图中这个,然后我们会得到一 ...
- 【Java】使用springboot框架中的注解@ManyToOne遇到的坑
包如下的错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed ...
- SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层
Entity层:实体层 数据库在项目中的类 Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文件包含实体类的属性和对应属性的set.get方法: DAO层: ...
最新文章
- 帝国cms底部代码哪里改?要修改版权和统计代码
- 【智驾深谈】Mobileye,用单目视觉点亮自动驾驶
- 给Eclipse提速的7个技巧
- 循环类里面的每一个属性
- 【LeetCode - 122】买卖股票的最佳时机 II(贪心 或 dp)
- php方法参数,关于PHP方法参数的那一些事
- 河北金融学院计算机与科学,河北金融学院计算机科学与技术专业2016年在河北理科高考录取最低分数线...
- *** cannot be resolved or is not a field
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- oracle删除列的限制,深入理解Oracle索引(10):索引列字符类型统计信息的32位限制...
- vector 赋值_从零开始学习R语言(一)——数据结构之“向量”(Vector)
- 语音处理:Python实现音频文件声道分离批量处理
- java生成压缩文件拒绝访问,FileOutputStream访问被拒绝:JAVA
- python编写自定义函数print_triangle(n)_Python 实验8 函数(1).doc
- 治疗 | 如何识别和处理消极想法
- 记录一次teamview无法远程连接对方teamview的过程
- 【渝粤教育】广东开放大学 数据库应用 形成性考核 (26)
- nginx转发http请求
- for…in循环语句应用
- 多个excel快速合并到一个excel的多个sheet
热门文章
- oracle视图可以带日期变量么,创建视图时日期字段如何只都天
- pytorch torch.Tensor.view
- pytorch torch.full
- Spark WordCount
- 2.5 不匹配数据划分的偏差和方差
- 从网络到分布式-负载均衡
- Docker学习总结(34)——新手使用Docker的11条准则
- Myeclipse学习总结(15)——Eclipse/MyEclipse中Maven项目常见问题解决汇总
- Java基础学习总结(108)——Java常见面试题再总结
- Jquery学习总结(3)——Jquery获取当前城市的天气信