我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java过滤乱码(u形式乱码、unicode乱码)

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java过滤乱码(u形式乱码、unicode乱码)

由于编辑人员从excel,word等乱七八糟的地方copy内容过来,其中有不可见的字符,导致输出内容看上去是对的,其实是多了一个零长度的字符(比如:u2028,0000200B ZERO WIDTH SPACE),所以需要过滤掉不合法的unicode编码等特殊字符

整理的正则:

[\u007f-\u009f]|\u00ad|[\u0483-\u0489]|[\u0559-\u055a]|\u058a|[\u0591-\u05bd]|\u05bf|[\u05c1-\u05c2]|[\u05c4-\u05c7]|[\u0606-\u060a]|[\u063b-\u063f]|\u0674|[\u06e5-\u06e6]|\u070f|[\u076e-\u077f]|\u0a51|\u0a75|\u0b44|[\u0b62-\u0b63]|[\u0c62-\u0c63]|[\u0ce2-\u0ce3]|[\u0d62-\u0d63]|\u135f|[\u200b-\u200f]|[\u2028-\u202e]|\u2044|\u2071|[\uf701-\uf70e]|[\uf710-\uf71a]|\ufb1e|[\ufc5e-\ufc62]|\ufeff|\ufffc

java代码如下:

private String replaceWrongUnicode(String source, String replace) {
        if (StringUtils.isBlank(source)) {
            return source;
        }
        if (StringUtils.isBlank(replace)) {
            replace = "";
        }
        Pattern CRLF = Pattern.compile("([\u007f-\u009f]|\u00ad|[\u0483-\u0489]|[\u0559-\u055a]|\u058a|[\u0591-\u05bd]|\u05bf|[\u05c1-\u05c2]|[\u05c4-\u05c7]|[\u0606-\u060a]|[\u063b-\u063f]|\u0674|[\u06e5-\u06e6]|\u070f|[\u076e-\u077f]|\u0a51|\u0a75|\u0b44|[\u0b62-\u0b63]|[\u0c62-\u0c63]|[\u0ce2-\u0ce3]|[\u0d62-\u0d63]|\u135f|[\u200b-\u200f]|[\u2028-\u202e]|\u2044|\u2071|[\uf701-\uf70e]|[\uf710-\uf71a]|\ufb1e|[\ufc5e-\ufc62]|\ufeff|\ufffc)");
        Matcher m = CRLF.matcher(source);
        if (m.find()) {
            return m.replaceAll(replace);
        }
        return source;
    }

附:过滤 成

private String replaceEnter(String source) {
        if (StringUtils.isBlank(source)) {
            return source;
        }
        Pattern CRLF = Pattern.compile("(
||
|
)");
        Matcher m = CRLF.matcher(source);
        if (m.find()) {
            return m.replaceAll("
"); } return source; }

更多java知识请关注java基础教程栏目。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java过滤乱码(u形式乱码、unicode乱码)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java过滤乱码(u形式乱码、unicode乱码)

由于编辑人员从excel,word等乱七八糟的地方copy内容过来,其中有不可见的字符,导致输出内容看上去是对的,其实是多了一个零长度的字符(比如:u2028,0000200B ZERO WIDTH SPACE),所以需要过滤掉不合法的unicode编码等特殊
java过滤乱码(u形式乱码、unicode乱码)
2018-05-02

Java中怎么过滤中文乱码

Java中怎么过滤中文乱码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. Unicode编码Unicode编码是一种涵盖了世界上所有语言、标点等字符的编码方式,简单一点
2023-06-02

java socket乱码

java socket乱码解决方法:首先在服务端使用InputStreamReader指定客户端的输入流为utf-8编码,以及使用OutputStreamWriter指定输出流为utf-8编码;然后在客户端同样的设置utf-8编码即可。in = new Buf
java socket乱码
2018-03-10

java string乱码

java string乱码问题出在预发、生产和本地环境的系统编码方式不一致,本地系统默认是UTF-8,而预发、生产环境默认是GBK编码,因此导致出现乱码。如果不指定编码方式,则默认以系统的编码方式。String csn = Charset.defaultCha
java string乱码
2018-07-22

java压缩乱码

java压缩乱码通常用java来打包文件生成压缩文件后会出现内容的中文乱码问题,这个问题网上很多人给出了解决方法,主要有两种方法:一是修改sun的源码;二是使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac
java压缩乱码
2019-09-13

java url参数乱码

如果URL中文参数乱码的话,可以尝试:方法1:(java) 第一个页面拼接URL 参数的时候用:URLEncoder.encode(参数, "UTF-8")第二个页面从request中获取该参数值 =new String(request.getParamete
java url参数乱码
2020-10-11

java插入mysql乱码

java插入mysql乱码java插入数据到mysql分为三层:● 前端页面● 后台代码● 数据库这三层任意一层乱码都不行,所以我们需要对着三层逐一设置编码格式,保存编码统一就不会乱码了。详解三层编码设置解决乱码问题1、前端前端就是设置页面的字符集2、后台代码
java插入mysql乱码
2020-07-07

JAVA中文与乱码

Tomcat默认字符集为ISO-8859-1,是不支持中文。所以中文都会显示成乱码。解决的需要将ISO-8859-1转换成UTF-8。一、对于Post请求request.setCharacterEncoding("UTF-8");二、对于G
2023-06-02

java中rsa乱码介绍

在对安全性要求比较高的报文做加密的时候,算法有很多种,我这里主要用到的就是AES加密算法。由于在国内使用,所以不可避免的要对中文进行加密和解密,而在这个过程中,发现,如果不做处理,很容易会出现中文乱码。(推荐:java视频教程)下面是常见的情况:一、中文乱码不
java中rsa乱码介绍
2021-01-19

Linux中菱形乱码怎么修改

小编给大家分享一下 Linux中菱形乱码怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux菱形乱码的解决方案:执行命令:vim /var/lib/l
2023-06-12

java写入文件是乱码

java写入文件是乱码我们读取、写入文件流时,经常会遇到乱码的现象,造成乱码的原因当然不可能是一个,这里主要介绍因为文件编码格式而导致的乱码的问题。首先,明确一点,文本文件与二进制文件的概念与差异。文本文件是基于字符编码的文件,常见的编码有ASCII编码,UN
java写入文件是乱码
2014-07-17

java servlet乱码怎么解决

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其
java servlet乱码怎么解决
2019-10-24

java读取txt中文乱码

java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1、要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 2、利用 InputStreamReader(new FileInputStream(f
java读取txt中文乱码
2016-12-29

java控制台出现乱码

java资源的编码都是utf8,使用utf8编译。但是控制台输出的时候,中文汉字还是会出现乱码。eclipse控制台eclipse控制台的编码默认为操作系统的编码,比如GBK。这时候就不能正确显示utf8编码的汉字,需要指定控制台的编码为utf8。步骤:菜单:
java控制台出现乱码
2021-11-28

java utf-8 乱码怎么办

java utf-8 乱码怎么办?1.在html首部编写如下代码:推荐教程:《java学习》 示例如下:login.jsp若不成功,2.对乱码工程文件属性修改,乱码如图所示 login.jsp 右键工程下的login.js
java utf-8 乱码怎么办
2017-03-29

java web乱码解决方法

设置文件的保存编码格式,这个一般在新建项目时,设置了GBK的编码格式,这时文件的页面编码格式是GBK的,而保存格式是ANSI的,后来把项目及文件的编码格式改为utf-8的编码格式后,依然出现中文乱码,这就是因为已经存在的文件的保存编码格式还是ANSI把致,所以
java web乱码解决方法
2014-05-26

eclipse java 乱码怎么解决

eclipse项目代码显示中文乱码解决方法有4种:1、设置工作空间的编码方式进行点击菜单中的windows菜单选择下拉菜单中进行选择为Preferences选项。进入general的选项,选中workspace的选项,点击Apply,点击OK退出。2、设置单个
eclipse java 乱码怎么解决
2018-05-03

怎么在U盘中删除乱码文件

这篇文章主要介绍了怎么在U盘中删除乱码文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法/步骤一:1.打开计算机管理器窗口,随后在磁盘管理中找到U盘。2.右键选中后开始进
2023-06-27

java网页乱码解决方法

java网页乱码常见地方如下:jsp页面中。EL表达式或者直接取值,哪怕写个固定的中文显示都会乱。java代码。前端到后端传输值,乱码。jsp页面编码。只要写jsp的都不陌生,更改页面的字符集。java后台代码。如果是java web项目,那么可以对应在pos
java网页乱码解决方法
2021-08-10

java问号乱码解决方法

在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。(推荐:java视频教程)这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。1、在网页中输出中文
java问号乱码解决方法
2020-03-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录