问题
在使用idea构建项目总是会遇到编码不一致的问题,有的文件使用UTF-8,有的又使用GBK,那这里的编码是什么意思呢?
文本读取的中文乱码原因
编码其实是指文件保存的编码,即以何种字节规则保存中文,如果以UTF-8,那么中文会以类似3个字节保存一个中文的形式保存到磁盘,而使用GBK中文是以类似2个字节保存一个中文的形式保存到磁盘,这叫编码,也叫做保存编码。
还有一种是读取编码,即读取该文件时使用的是何种编码。如果文件以GBK编码保存,以UTF-8编码读取,那么文件中的中文都会乱码,此时一般编辑器都会提示你修改编码,一般我们修改的都是读取编码,即重新以正确的编码来读取文件。
下面的图展示了乱码原因:
所以如果想要文件读取后中文显示正常不乱码,就必须使用正确的读取编码。总而言之,保存编码和读取编码要一致,文件的中文内容才不会乱码。
如何改变保存编码
当你的文件保存为GBK时,你想要它以UTF-8的编码保存到磁盘时,你可以使用notepad++,其他文本编辑工具也可以,大部分编辑工具都支持修改编码。
notepad++修改编码使用如下:
-
notepad++右下角可以看到该文件的读取编码。
-
在 编码 菜单栏可以修改读取编码与保存编码。
使用UTF-8编码 该选项可以改变读取编码,即:使用UTF-8编码重新读取文件,通过该选项可以判断文件的编码是否为UTF-8,如果选择后中文没有乱码,那么文件保存的编码就是UTF-8了。
转为UTF-8编码 即修改文件的保存编码,以UTF-8编码保存文件到磁盘,该选项用于修改文件保存编码 -
另外在 编码字符集里可以使用GBK编码读取文件。