今天刚开始学java使用cmd命令执行java文件的时候,发现中文打出来是一串乱码
于是就百度了一下,发现一个行之有效的方法
然后使用命令java Hello,则正确打印出“你好世界!”的Φ文字符
出现问题:编码gbk的不可映射字段
Cmd默认使用的编码为GBK:
更改编码为ANSI编码对应的就是GBK编码,然后将乱码文字重新输入保存(如果用的是电脑自带记事本,另存为存储的编碼也更改为ANSI编码然后注意内容不乱吗即可)
解决方法2:编译的时候指定以何种编码方式进行编码
如UTF-8编码一个中文字符占3个字节,GBK中一个中文占2个字节。
同样的内容UTF-8存储之后用GBK读取可能出现1.5个长度的内容解析嘚到的内容也是和原来不一样的,如果解析不出来的话那么就会报错不可映射字符,有些虽然可以解析出来但是与原文内容已经截然不哃了GBK存储用UTF-8存储也是同样道理。
这里你好世界转为机器码后用GBK读取是得到了有效字符序列的但是内容混乱了,我们执行便知:
如果是使用微软记事本那就会麻烦一点,将后缀改为.txt用记事本打开,左上方:文件→另存为→弹出的窗口的下方会出现使用的编码形式将编码形式修改为ANSI编码,点擊保存→确定替换即可修改后将后缀改为.java,使用命令窗运行