中文乱码在项目中是经常会遇到的情况。当我们通过设置request和response字符集,但是还是出现中文乱码的时候,今天给介绍一种通过java方法实现判断string是否为乱码的方法。/**

* 判断字符串是否是乱码

*

* @param strName 字符串

* @return 是否是乱码

*/

public static boolean isMessyCode(String strName) {

Pattern p = Pattern.compile("\\s*|t*|r*|n*");

Matcher m = p.matcher(strName);

String after = m.replaceAll("");//去重为空的情况

String temp = after.replaceAll("\\p{P}", "");

char[] ch = temp.trim().toCharArray();

float chLength = ch.length;

float count = 0;

for (int i = 0; i < ch.length; i++) {

char c = ch[i];

if (!Character.isLetterOrDigit(c)) {

if (!isChinese(c)) {

count = count + 1;

}

}

}

float result = count / chLength;

if (result > 0.4) {

return true;

} else {

return false;

}

}

/**

* 判断字符是否是中文

*

* @param c 字符

* @return 是否是中文

*/

public static boolean isChinese(char c) {

Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);

if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS

|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS

|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION

|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION

|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {

return true;

}

return false;

}

定义调用:public static void main(String[] args) {

// TODO Auto-generated method stub

/*List list = new ArrayList();

Map, String> map = new HashMap<>();*/

String messcode = "ss201888asdf;#????";

System.out.println(">>>>>>>>>>:"+isMessyCode(messcode));

}

输出结果:>>>>>>>>>>:false

更多java知识请关注PHP中文网java基础教程栏目。

Java如何校验中文乱码_java如何判断是否中文乱码相关推荐

  1. java url路径中文乱码_Java Url请求方式中文乱码问题解决办法

    jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 request.setCharacterEncoding("utf-8"); 而get方式请求,若url含非西 ...

  2. java解压中文乱码_java解压文件中文乱码怎么处理

    上次利用java自动的java.util.zip.ZipEntry和??java.util.zip.ZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现 ...

  3. java 问号乱码_Java web中常见编码乱码问题(一)

    最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...

  4. java zip 压缩乱码_java实现zip压缩中文文件名乱码怎么办?

    java实现zip压缩中文文件名乱码怎么办? java实现zip压缩中文文件名乱码的解决办法: 一.文件压缩的中文乱码问题 1.中文文件名的乱码解决 对于压缩的文件,当文件名称是中文时,若使用JDK ...

  5. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  6. java ajax json 乱码_java+ajax加载中文json串后出现乱码问题的解决办法

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 一.问题描述 使用zTree异步刷新父级菜单时,服务器返回中文乱码.项目中使用 ...

  7. java 字节流乱码_java用字节流读取中文乱码怎么解决?

    首先,如果你明确的知道使用的编码,那么你可以在读取完毕生成字符串的时候直接指定编码. 例如: FileInputStream in = new FileInputStream("aaa.tx ...

  8. java中文字符_Java 完美判断中文字符

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  9. java oracle中文乱码_java字符编码和oracle乱码

    编码问题我仍旧没搞懂,最根本的从哪里来就没搞懂.当页面发送请求,编码到后台是什么编码呢?好吧,我默认的都是utf-8.后台接收参数后,可以在控制台打印出来,我也不清楚是什么编码.然后,就是数据库问题. ...

最新文章

  1. 实战SSM_O2O商铺_02数据模型设计及实体类的创建
  2. “.Net 社区虚拟大会”(dotnetConf) 2016 Day 2 Keynote: Miguel de Icaza
  3. 02-print的用法
  4. slf4j + log4j原理实现及源码分析
  5. 2012网页设计趋势(上)
  6. 奇妙的数字 小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
  7. JMP软件在六西格玛项目管理中高阶应用(五)
  8. c语言试题库 文库,C语言试题库
  9. java获取系统dpi_Java DPI介绍
  10. 安卓APP注册登录+Tomcat服务器搭建+MySQL数据库建立+加密传输+servlet后端内容编写及部署到Tomcat服务器
  11. 穆迪收购Omega Performance,加强在线信贷培训平台
  12. Vue:使用elementUI upload组件上传excel文件
  13. 安卓系统开机时间优化分析
  14. picpick快捷键
  15. 盘符修改后,node重装一顿操作猛如虎
  16. Java实战之继承与多态
  17. JSP基本语法、3个编译指令、7个动作指令、9个内置对象
  18. MRR@K P@K R@K意义阐述与对比
  19. 熟练计算机的招聘启事,招聘启事:水木社区、新电脑
  20. 得物App万米高空WiFi拦截记

热门文章

  1. iOS Airplay Screen Mirroring 同屏技术详解
  2. LeetCode 1059. 从始点到终点的所有路径(回溯)
  3. Hadoop之企业案例分析
  4. 企业用户福利来袭!腾讯三大研发管理产品集中亮相2018腾讯合作伙伴大会
  5. ffmpeg 源码学习
  6. SSH原理与运用(一):远程登录
  7. 深度学习时代的目标检测算法综述
  8. Android插件框架VirtualAPK
  9. undefined: resolver.BuildOption undefined: resolver.ResolveNowOption 报错的解决办法
  10. 多线程与高并发(一):单机高并发应该掌握的线程基础:线程状态,异常与锁等