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的方法: