IDEA 字符编码转换问题

IDEA 字符编码转换问题

之前学习都使用用Eclipse,由于IDEA的美观和提示功能功能非常强大,现在改用IDEA。
但是在转变的过程中就遇到字符编码转换问题。
windows下默认的编码GBK,Eclipse中默认的编码也是GBK,IDEA中默认的是UTF-8。
一个中文在GBK中是占两个字节,在UTF-8中是三个字节,这样就导致了用UTF-8模式去读GBK的文档就会导致乱码。经过百度和以前所学知识找到了以下解决方法。
附上链接 字符编码的发展过程(可以先看看字符编码的发展过程)
首先我们从外部导入一个项目或文件,它会自动提示解码有问题。如图
IDEA 字符编码转换问题
这时我们可以点击Reload in GBK,就可以正常显示但是运行的时候还是显示乱码。
这里的Rload只是用正确的打开方式打开文件,而磁盘上存储的内容却没有改变。如果想把这个文件彻底改成Utf-8则可以用convert,如图右下角有个字符编码选项,点击UTF-8IDEA 字符编码转换问题
然后选择convert,磁盘上的文件也转换成了UTF-8。就可以正常运行了,不过有时需要重新编译一下(点击菜单栏里Build里的Recompile)。
然而还没有完。。。。
有时候将一根文件拷贝到项目里,IDE不会自动提示,点击转换也没有用。这是就需要另一种办法。
IDEA 字符编码转换问题
在File里直接打开那个文件,点击右下角转码,然后下一步非常重要。
IDEA 字符编码转换问题
这时一定要选择Reload,如果选择Convert就会导致还是乱码而且不可以在转换回来,只能重新写(所以最好有个备份),这里是将乱码从GBK的规则,转换成UTF-8的规则,所以肯定还是乱码。所以先Reload再Convert,按正确的方式把字符读出来,然后把正确的字符按照两种不同的规则进行转换。转换完成后再把相应文件拷贝进来即可。

还有个解决办法就是直接将Eclipse的编码改成UTF-8。不过以前的文档可能出现乱码,而且不可转变回来,所以慎用。在一个新项目中可以直接把编码改为UTF-8。
IDEA 字符编码转换问题

以上只是个人经验总结,如果有地方有问题或者有更好的解决办法,欢迎大家提出。