【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法

目录

windows操作系统是如何搜索硬盘上某个命令的呢?

——配置环境变量Path、classpath

——javac命令怎么用?

——运行java程序:

出现错误:“ 编码GBK 的不可映射字符 ” 的解决方法

用IDEA打开eclipse java项目时出现编译错误的解决方法


windows操作系统是如何搜索硬盘上某个命令的呢?

  • 首先会从当前目录下搜索
  • 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令
  • 如果都搜索不到,则报错。

——配置环境变量Path、classpath

  • 注意:Path环境变量和java语言没有关系,path环境变量是属于Windows操作系统的一个知识点。Path环境变量是专门给Windows操作系统指路的。

  • javac想要随意使用,需要将javac所在的目录配置到环境变量Path中:

    Path=XXXX;C:\Program Files\Java\jdk1.8.0_221\bin
  • ClassPath=. classpath是为类加载器指路的,默认是当前目录寻找,指路后只能从指定的文件夹中寻找class文件

    "."代表当前目录 “…“代表上级目录

——javac命令怎么用?

  • javac java源文件路径
  • 注意:路径包括相对路径和绝对路径,都可以

——运行java程序:

  • 需要使用java.exe命令

  • 首先要将dos命令窗口的目录切换到class文件所在目录 在文件所在地址栏敲:cmd 然后回车

  • 使用方式:java 类名

    ​ 硬盘上有HelloWorld.class 类名:HelloWorld

    java HelloWorld

    ​ 注意:java命令后面跟的不是文件名,是一个类的名字。

出现错误:“ 编码GBK 的不可映射字符 ” 的解决方法

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("你好, 世界");//打印输出“你好,世界!”

    }
}

出现此错误的原因: 用软件eclipse、idea等编写出来的java文件用dos窗口执行。是因为软件设置了编码为UTF-8。由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符":
【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第1张图片

检查:

  • 检查本机区域语言为中文没有问题【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第2张图片
  • 检查此程序可以在eclipse上编译通过。单击eclipse导航栏的“Project”——>选择最底部的Properties——>发现text file encoding (文本文件编码)为UTF-8【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第3张图片
  • 查看此程序可以在IDEA运行,单击IDEA导航栏“文件”——>“设置”——找到“文本编码”——>发现文本编码当方式为UTF-8【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第4张图片

解决方法

  • 第一种
    运行时使用 javac -encoding UTF-8HelloWorld.java

    javac -encoding UTF-8 HelloWorld.java
    

    在这里插入图片描述

  • 第二种
    右击java源文件——>用记事本打开——>“另存为”——>编码方式选择:“ANSI”——>正常编译即可通过【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第5张图片
    【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第6张图片

说明:

ANSI:美国国家标准协会,系统预设的标准文字储存格式。简体中文编码GB2312,实际上它是ANSI的一个代码页

UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。

在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。

用IDEA打开eclipse java项目时出现编译错误的解决方法

问题:在这里插入图片描述
原因:
Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用IDEA和Android Studio编译UTF-8+BOM编码的文件时会出现” 非法字符: ‘\ufeff’ “之类的错误。

解决方案:用IDEA转换,先转换成GBK,再转换为UTF-8*
【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第7张图片 【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第8张图片
【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法_第9张图片

Reload 表示使用新编码重新加载,新编码不会保存
Convert 表示使用新编码进行转换,新编码会保存

你可能感兴趣的:(java,java,eclipse,tomcat,jar,java-ee)