第一个java程序中文乱码以及如何解决

出现问题:编码gbk的不可映射字段

原因:.java文件的编码与cmd命令执行器使用的编码不一致

我们使用的.java文件的编码为UTF-8

Cmd默认使用的编码为GBK:

解决方式统一编码:

方法1:更改源文件编码为GBK与cmd.exe对应

更改编码为ANSI编码,对应的就是GBK编码,然后将乱码文字重新输入保存。(如果用的是电脑自带记事本,另存为存储的编码也更改为ANSI编码,然后注意内容不乱吗即可)

使用javac命令正常编译:

解决方法2:编译的时候指定以何种编码方式进行编码

使用javac命令增加 -encoding 参数指定编码方式实现:

命令:

Javac -encoding UTF-8 HelloWorld.java

运行

运行java程序我们使用的是java命令

Java .class文件名称

出现问题:UTF-8编码编写的java文件在不指定编码方式的时候可以成功编译

原因:

编译的过程是程序由.java文本->机器码(2进制)->.class文本的过程

不同的编码方式一个字符在计算机内的二进制计算的方式不一样

如UTF-8编码一个中文字符占3个字节,GBK中一个中文占2个字节。

‘你’ UTF-8可能存储为 00111010 00110101 01100000,GBK编码可能存储为 010100011 10111000

同样的内容UTF-8存储之后用GBK读取可能出现1.5个长度的内容,解析得到的内容也是和原来不一样的,如果解析不出来的话,那么就会报错不可映射字符,有些虽然可以解析出来但是与原文内容已经截然不同了。GBK存储用UTF-8存储也是同样道理。

这里你好世界转为机器码后用GBK读取是得到了有效字符序列的,但是内容混乱了,我们执行便知:

原文地址:https://www.cnblogs.com/aigeileshei/p/10531770.html

时间: 2024-10-11 02:00:03

第一个java程序中文乱码以及如何解决的相关文章

IDEA2014开发Java程序以及中文乱码问题的解决

IDEA2014开发Java程序以及中文乱码问题的解决 我们知道IDEA是可以很强大的集成开发环境,不仅可以开发Web工程,还可以开发Java运行程序,但是在进行Java开发之前,我们需要对IDEA做一些配置工作.步骤如下: 下载IDEA2014下载地址,过期私聊我(http://pan.baidu.com/s/1jIfbtdW) 下载JDK64位机(http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-windows-x64

菜鸟笔记 -- Chapter 3.5 人生的第一个Java程序Hello World

3.5 第一个Java程序“Hello World” 3.5.1 工具介绍 编写Java程序可以使用很多种工具 l notepad(微软操作系统自带) l Notepad++ l Eclipse l MyEclipse 我们在初始学习阶段先通过Notepad++来学习,这样我们可以更直观的看到程序运行的流程. 3.5.2 HelloWorld 源代码 class HelloWorld{ public static void main(String[] args){ System.out.prin

Java Jsp中文乱码解决方法

自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享. 一.Java中文问题的由来 Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题. 首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java

第一个JAVA程序解析

上一篇博客中,我们编写了第一个JAVA程序并使用最原始的方式对其进行编译运行,很多文章或书籍中对该种编译运行方式不做介绍,但是我认为这有助于我们更好的了解.学习JAVA,是不可忽略的一部分,在我身边有很多人,学完一段时间JAVA后,只知道如何在IDE中进行开发,却不知脱离IDE后该如何运行,不得不说这也是一种悲哀. 言归正传,我们来看一下上一篇博客中的例子"Hello World",这也是几乎所有的编程语言都会编写的一个例子,非常的经典. 下面我们就来分析一下: /**  *  我的第

当世界上只剩下一个Java程序员

公元2050年,世界上只剩下了一个Java程序员. 你可能要问了,别的人都去哪儿了?原因很简单, Java没落了. 大约在2030年左右,出现了一个叫做X的语言,它既能做系统级开发(操作系统.数据库.编译器),也能做服务器端的开发,手机端,Web端都不在话下. 更为重要的是,这个新的编程语言和人类的自然语言很接近,无论大人小孩,稍微一学,很快就可以来编程.于是排名前100的语言统统消失了, 程序员们都失业了. Java也不例外,这个昔日的霸主在留下了一堆庞大而复杂的系统以后就不见了. Java程

java基础:java环境,第一个Java程序,java的数组

java环境: 1. 什么是字节码和虚拟机? 2. 环境变量的设置 3.一些常用的java命令 4. 计算机如何运行java程序? 5. java的垃圾回收器 6. java的基本数据类型及转换 举例:第一个Java程序 Java的数组: 1. 一维数组 数组的声明 数组分配空间及初始化 数组的长度 两个数组之间的拷贝:System.arraycopy(array1,start,array2,start,length) 2. 二位数组 二维数组的声明及初始化

二、第一个JAVA程序——HelloWorld

1.Java程序的运行机制. Java源文件的后缀名为java 形如 *.java,通过编译器编译后生成*.class文件,由计算机来运行class文件执行java程序.但是,此时所指的计算机并不是物理上的计算机而是java的虚拟机,即JVM. Java中所有的程序都是运行在JVM上的,即所有的*.class文件在JVM上运行而对于*.class文件来说只需要符合JVM的规范就可以了,而不需要考虑对硬件或者其他操作系统的兼容性.再由JVM去适应各个操作系统,因此,有了java的一句口号一次编译,

【Java】Java_03第一个Java程序

第一个JAVA程序的编写和运行 1.使用记事本编辑 public class Welcome{ public static void main(String[] agrs){ System.out.println("Hello World!"); } } 2.保存为:d://mycode/Welcome.java 3.进入控制台,进入:d://mycode/目录. 4.javac Welcome.java 5.java Welcome 6.出现运行结果: JAVA程序运行机制分析 计算

Java编程-第一个Java程序

Java编程用到的IDE是Eclipse. 关于第一个Java程序实现的简单流程: (1)    下载eclipse (2)    File-New-Java Project 命名工程名字:Hello 右击工程下的src文件,new-class 命名package.Name (3)    准备工作完成 (4)    编写代码如下: package Hello; public class Hello { public static void main(String[] args){ System.