IDEA中写MyBatis的xml配置文件编译报错的坑
说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为:
xml中1字节的UTF-8序列的字节1无效
The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a byte value in the range FE-FF. These values are invalid in the UTF-8 encoding.
遇见这种情况时,我首先知道可能时字符编码集出现了问题,参考网上的许多办法还是不行,原因是我在整体项目的字符集设置中把在idea中新建的文件字符集默认为GBK形式了,所以所有的新建文件都会以GBK字符格式对中文字符进行转义,就会导致错误,可能是这两个编码格式对于某些特别中文的解码规则不同,有时可以互相错误使用,但是有时不可以,尤其是在写xml配置文件时。
又由于我的xml配置文件是这样写的,因为我以为已经配置好了idea的字符格式为UTF-8,但是我忘记了上次我只是在项目中配置的,却没有在idea全局中配置,所有导致今天误入了这个坑中。如果硬用GBK字符编码的话,这边encoding改为GBK也就可以了!
出现错误的详细原因就是:
XML文档的声明是在文档第一行第一列声明以下格式的标签:
<?version="1.0" encoding="utf-8"?>
当里面的属性设置了utf-8,还是有可能出现编码的错误的.如果你是以gbk的编码存储在系统,当打开文件的时候,浏览器首先在系统读取文件,但是,文件现在读取出来的是gbk,而xml文件的声明是utf-8,所以浏览器的读取是以utf-8的编码格式去解析了,因此出现了译码错误,所以显示不出来.
下面贴上在idea的全局配置中配置所有新建文件以及项目文件字符编码格式都为UTF-8的方法: