IDEA 字符编码转换问题
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 字符编码转换问题相关推荐
- 《MySQL tips:隐式类型转换与隐式字符编码转换对查询效率的影响》
维护一个交易系统,交易记录表tradelog包含交易流水号(tradeid).交易员id(operator).交易时间(t_modified)等字段. create table 'tradelog' ...
- android 使用icon进行字符编码转换
在使用ndk开发应用程序时,有时需要字符编码转换,这里使用开源库icon进行字符编码转换,代码如下 char * convertString(const char * fromCode, const ...
- 字符编码转换类(支持多国语言)
头文件StrConvertor.h /* * 字符编码转换库,支持多国语言. */ #pragma once #include <string>class CStrConvertor { ...
- Android字符编码转换,GBK转UTF-8
Android字符编码转换,GBK转UTF-8 网上看了很多都不能用,最后看到这个方法,很靠谱,分享给大家! String str; str = new String(str.getBytes(&qu ...
- iconv 判断字符编码_iconv字符编码转换全攻略
iconv(http://www.gnu.org/software/libiconv/)是一个开源的字符编码转换库,可以"方便"的完成几乎所有的编码转换工作.说简单是因为,它常用的 ...
- c语言使用iconv函数实现字符编码转换
c语言使用iconv函数实现字符编码转换 linux下提供了iconv库来实现字符编码转换,先介绍下命令行: iconv [-f encoding] [-t encoding] [inputfile ...
- Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值
文章目录 前言 简述 ASCII GBK Unicode UTF-8 应用场景 开发环境 编码转换 16进制数值转换为16进制字符 16进制数值转化为字符串 16进制字符串转换为Unicode字符串 ...
- linux下字符编码转换
2019独角兽企业重金招聘Python工程师标准>>> 关于字符编码: 字符编码笔记:ASCII,Unicode和UTF-8: http://www.ruanyifeng.com/b ...
- java linux urlencode_java字符编码转换研究(转)
1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...
- linux windows 字符编码转换,Linux操作系统下汉字编码的转换
因为项目的需要linux下将GBK编码转换为utf8编码,google一下,网上的相关资源比较少,下面的操作经过本人的反复试验.本例子同样适用于其他的编码转换. 有gbk到utf8的转换过程,需要经过 ...
最新文章
- cstring只获取到第一个数_一文讲透 Dubbo 负载均衡之最小活跃数算法
- [分享]五种提高 SQL 性能的方法
- golang异步协程调度原理
- 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
- OpenFlow Switch — 1.3 规范
- linux有三个查看文件的命令:more、cat、less
- VMware下安装Ubuntu不支持1920X1080分辨率问题
- 收藏 | 2020年腾讯技术工程十大热门文章
- 在SD/MMC卡中可读写的FAT文件系统
- 8个月打磨,一份送给程序员的「分布式系统」合集
- mysql 第二大的数据_MYSQL – 从大表中的第二行中选择数据
- 脚手架-- yarn link后,Error: Cannot find module 。。。
- Mac便笺基本操作|便笺使用太鸡肋?那是你不知道这几个快捷键!
- Oracle数据库安装及配置
- Chirp信号基础知识及matlab实现
- android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
- 京东超市 导航条布局
- 制造行业mes使用说明书_mes系统操作手册完整版
- SWUST OJ 492: The Dutch flag problem
- 项目工作绩效数据、项目工作绩效信息、项目工作绩效报告