eclipse项目导入idea部署提示非法字符: '\ufeff'

1、前言

这阵子刚好忙着一个项目,公司那边给了个eclipse的项目,我觉得eclipse用着不顺手,就想着用idea导入,然后就踩到了深海巨坑

项目在eclipse的部署是很轻松的,来到了idea确是问题不断,其中最典型的问题就是今天要讲的内容 非法字符: ‘\ufeff’

2、为什么会提示非法字符

因为该项目在eclipse中是UTF-8+BOM文件保存,而eclipse可以智能的装换为普通的utf-8文件,而idea却没有这项功能,所以,原因就出现在怎么去除‘\ufeff’

3、解决方法

网上办法大多是点击idea右下角的编码,先转为gbk再转回来utf-8,这个确实能解决问题,可问题是,我这个项目少说200,,300个java文件,一个一个转,我不得疯了,得想想程序员的做法才行,我想了想,不就是编码问题吗,利用python遍历一下,转一下不就行了吗,于是就百度了一下utf-8 with bom 怎么转为utf-8

于是有了有了下面的转换代码,用法很简单,输入项目目录点击main方法就行,回到idea重新加载项目后,一切就完美解决了

import os, time
if __name__ == '__main__':
    start = time.time()
    directory = "D:\\IdeaProjects\\HRP"
    for cdir, subdirs, files in os.walk(directory):
        for file in files:
            if file.endswith(".java"):
                print(file)
                try:
                    bom_file = os.path.join(cdir, file)
                    s = open(bom_file, mode='r', encoding='utf-8-sig').read()
                    open(bom_file, mode='w', encoding='utf-8').write(s)
                except Exception:
                    print("出问题"+file)
    print("cost time: %.3fs" % (time.time() - start))
发布了40 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Chen_RuiMin/article/details/102869375