IDEA 字符编码转换问题

之前学习都使用用Eclipse,由于IDEA的美观和提示功能功能非常强大,现在改用IDEA。
但是在转变的过程中就遇到字符编码转换问题。
windows下默认的编码GBK,Eclipse中默认的编码也是GBK,IDEA中默认的是UTF-8。
一个中文在GBK中是占两个字节,在UTF-8中是三个字节,这样就导致了用UTF-8模式去读GBK的文档就会导致乱码。经过百度和以前所学知识找到了以下解决方法。
附上链接 字符编码的发展过程(可以先看看字符编码的发展过程)
首先我们从外部导入一个项目或文件,它会自动提示解码有问题。如图

这时我们可以点击Reload in GBK,就可以正常显示但是运行的时候还是显示乱码。
这里的Rload只是用正确的打开方式打开文件,而磁盘上存储的内容却没有改变。如果想把这个文件彻底改成Utf-8则可以用convert,如图右下角有个字符编码选项,点击UTF-8
然后选择convert,磁盘上的文件也转换成了UTF-8。就可以正常运行了,不过有时需要重新编译一下(点击菜单栏里Build里的Recompile)。
然而还没有完。。。。
有时候将一根文件拷贝到项目里,IDE不会自动提示,点击转换也没有用。这是就需要另一种办法。

在File里直接打开那个文件,点击右下角转码,然后下一步非常重要。

这时一定要选择Reload,如果选择Convert就会导致还是乱码而且不可以在转换回来,只能重新写(所以最好有个备份),这里是将乱码从GBK的规则,转换成UTF-8的规则,所以肯定还是乱码。所以先Reload再Convert,按正确的方式把字符读出来,然后把正确的字符按照两种不同的规则进行转换。转换完成后再把相应文件拷贝进来即可。

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

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

IDEA 字符编码转换问题相关推荐

  1. 《MySQL tips:隐式类型转换与隐式字符编码转换对查询效率的影响》

    维护一个交易系统,交易记录表tradelog包含交易流水号(tradeid).交易员id(operator).交易时间(t_modified)等字段. create table 'tradelog' ...

  2. android 使用icon进行字符编码转换

    在使用ndk开发应用程序时,有时需要字符编码转换,这里使用开源库icon进行字符编码转换,代码如下 char * convertString(const char * fromCode, const ...

  3. 字符编码转换类(支持多国语言)

    头文件StrConvertor.h /* * 字符编码转换库,支持多国语言. */ #pragma once #include <string>class CStrConvertor { ...

  4. Android字符编码转换,GBK转UTF-8

    Android字符编码转换,GBK转UTF-8 网上看了很多都不能用,最后看到这个方法,很靠谱,分享给大家! String str; str = new String(str.getBytes(&qu ...

  5. iconv 判断字符编码_iconv字符编码转换全攻略

    iconv(http://www.gnu.org/software/libiconv/)是一个开源的字符编码转换库,可以"方便"的完成几乎所有的编码转换工作.说简单是因为,它常用的 ...

  6. c语言使用iconv函数实现字符编码转换

    c语言使用iconv函数实现字符编码转换 linux下提供了iconv库来实现字符编码转换,先介绍下命令行: iconv [-f encoding] [-t encoding] [inputfile ...

  7. Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值

    文章目录 前言 简述 ASCII GBK Unicode UTF-8 应用场景 开发环境 编码转换 16进制数值转换为16进制字符 16进制数值转化为字符串 16进制字符串转换为Unicode字符串 ...

  8. linux下字符编码转换

    2019独角兽企业重金招聘Python工程师标准>>> 关于字符编码: 字符编码笔记:ASCII,Unicode和UTF-8: http://www.ruanyifeng.com/b ...

  9. java linux urlencode_java字符编码转换研究(转)

    1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...

  10. linux windows 字符编码转换,Linux操作系统下汉字编码的转换

    因为项目的需要linux下将GBK编码转换为utf8编码,google一下,网上的相关资源比较少,下面的操作经过本人的反复试验.本例子同样适用于其他的编码转换. 有gbk到utf8的转换过程,需要经过 ...

最新文章

  1. cstring只获取到第一个数_一文讲透 Dubbo 负载均衡之最小活跃数算法
  2. [分享]五种提高 SQL 性能的方法
  3. golang异步协程调度原理
  4. 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
  5. OpenFlow Switch — 1.3 规范
  6. linux有三个查看文件的命令:more、cat、less
  7. VMware下安装Ubuntu不支持1920X1080分辨率问题
  8. 收藏 | 2020年腾讯技术工程十大热门文章
  9. 在SD/MMC卡中可读写的FAT文件系统
  10. 8个月打磨,一份送给程序员的「分布式系统」合集
  11. mysql 第二大的数据_MYSQL – 从大表中的第二行中选择数据
  12. 脚手架-- yarn link后,Error: Cannot find module 。。。
  13. Mac便笺基本操作|便笺使用太鸡肋?那是你不知道这几个快捷键!
  14. Oracle数据库安装及配置
  15. Chirp信号基础知识及matlab实现
  16. android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
  17. 京东超市 导航条布局
  18. 制造行业mes使用说明书_mes系统操作手册完整版
  19. SWUST OJ 492: The Dutch flag problem
  20. 项目工作绩效数据、项目工作绩效信息、项目工作绩效报告

热门文章

  1. Thinkphp5个人技术博客网站源码
  2. 恒定湿热试验条件及标准-环境试验中的湿热试验报告
  3. 基于javaweb的超市管理系统设计与实现(含论文和源码)
  4. linux安装番茄时钟,Tomato Pie番茄钟
  5. 优秀的WBS的分解标准
  6. 假设检验-统计学自学笔记
  7. java 正则车牌_分享一个非常全的正则验证车牌格式的函数
  8. Python 辛普森积分法 simps计算sin(x)的值(完美实现)
  9. AMOS分析技术:路径分析;用SPSS做路径分析麻烦?那就用AMOS分析吧
  10. 将长整型IP地址转换成点分十进制