Jave 代码用询问点替换重音字母

问题描述 投票:0回答:1

我在项目中遇到的一个非常基本的问题,并且在这个基本代码中再次出现:

import java.util.Scanner;

public class Special {
    public static void main(String[] args) {
        System.out.println("Donner le mot");
        Scanner sc = new Scanner(System.in, "UTF-8");
        String w = sc.next();
        System.out.println(w);
    }
}

因此,我插入一个包含法语中使用的普通字母和重音字母的字符串(é,ç,ù...),我面临的问题是在打印输出中,它按原样显示普通字母并打印询问观点 ”?”在每个重音字母的位置。 编译行与往常一样:

javac Special.java
java Special

值得注意的是,我确保以 UTF-8 编码格式保存文件。

java string encoding utf-8 non-ascii-characters
1个回答
0
投票

你的程序写得正确!

尝试检查您的环境设置。以下是如何做到这一点的示例:

import java.nio.charset.Charset;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Get the default charset for the terminal
        Charset terminalCharset = Charset.defaultCharset();
        System.out.println("Terminal Charset: " + terminalCharset.displayName());

        // Get all available charsets for the current system
        Map<String, Charset> availableCharsets = Charset.availableCharsets();
        System.out.println("Available Charsets:");
        for (Map.Entry<String, Charset> entry : availableCharsets.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue().displayName());
        }
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.