Java FX - Cp1252字符编码错误

时间:2017-06-02 20:10:44

标签: java eclipse intellij-idea javafx encoding

所以我一直在学习如何在Eclipse中使用JavaFX,并且遇到了一个字符编码错误,它始终出现在类声明之前的最后一个字符上。

每当我运行脚本时,都会出现一个程序错误,上面写着:

“保存无法完成。请尝试使用文件>另存为...如果问题仍然存在。 原因: 某些字符无法使用“Cp1252”字符编码进行映射。 更改编码或删除“Cp1252”字符编码不支持的字符。“

我尝试下载支持FX的另一个名为IntelliJ IDEA的程序,同样的错误也发生在该程序上。但是,我设法通过简单地手动重写最后一个导入来修复IntelliJ上的这个错误。不幸的是,当我使用Eclipse时,修复这个问题似乎并不那么简单。我使用Eclipse而不是仅使用IntelliJ的原因是我的学校计算机只使用Eclipse。

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox; //error appears after the semicolon on this line

public class Main extends Application {

    Scene s1, s2;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage window) {
        Label label1 = new Label("s1");
        Button button1 = new Button("Click for s2");
        button1.setOnAction(e -> window.setScene(s2));

        VBox lay1 = new VBox(50);
        lay1.getChildren().addAll(label1, button1);

        s1 = new Scene(lay1, 500, 500);

        Button button2 = new Button("Click for s1");
        button2.setOnAction(e -> window.setScene(s1));

        s2 = new Scene(lay1, 300, 250);

        window.setScene(s1);
        window.setTitle("title");
        window.show();
    }
}

2 个答案:

答案 0 :(得分:3)

听起来好像你在文件中得到一个不能用Cp1252编码表示的字符(只能处理有限范围的字符)。

您可以将文件的编码更改为UTF-8,它可以处理任何事情。

要更改单个文件,请打开文件“属性”和“资源”页面,更改“文本文件编码”。值为UTF-8。

您还可以在' General>的首选项中更改工作区的默认文本文件编码。工作区'页。

答案 1 :(得分:0)

举个例子:

我发现了一个导致问题的特殊字符:

在我的代码中的某处写了:

//Now blabla Equation n̊1

n̊1 导致此“保存问题”错误的原因