У меня есть простой код, который должен печатать эти символы
public class App {
public static void main(String[] args) throws Exception {
System.out.print("名 é à è €");
}
}
Но всякий раз, когда я запускаю и отлаживаю свой проект в VS Code, вывод в терминале следующий:

Я попытался ввести chcp 65001, чтобы исправить это, но это не решило проблему, и вот результат:

Я попытался сделать это за пределами VS Code, выполнив javac и java, и вот что у меня получилось:
Без chcp 65001:

С chcp 65001:

Вот моя версия Javac: javac 22.0.1
Да, это работает, но не в терминале vscode, как я уже сказал.
что, если вы просто запустите echo '名 é à è €' в оболочке встроенного терминала VS Code?
Он работает нормально, значит, это проблема Java-компилятора?




эта проблема может быть причиной ошибки кодирования. По умолчанию vscode использует кодировку UTF-8, а компьютер — GBK. Я попробовал изменить настройки компьютера, чтобы все работало нормально:
Time&Language, выберите Language®ion, Administrative language settings, Change system locale и отметьте версию Beta.Оно работает! Но у меня есть один вопрос: поскольку эта функция находится в стадии бета-тестирования, может ли она сломать какой-то текст приложения?
Привет, бета-версия может оказать некоторое влияние на систему. Вы также можете попробовать добавить его в файл settings.json "terminal.integrated.env.windows": { "JAVA_TOOL_OPTIONS": "-Dfile.encoding=UTF-8" }. Затем перезапустите vscode после сохранения и повторите попытку.
ваш последний скриншот не показывает, что он работает?