Ответ 1
Ссылка: Java Unicode в командной строке Windows
Попробуйте chcp 1252
или chcp 65001
из командной строки. С Lucida Console или другой поддержкой шрифтов.
Я написал небольшое приложение Java, выход которого включает символы Unicode. Когда я использую Eclipse для его запуска, я вижу весь вывод, как ожидалось.
Люди, которые должны использовать приложение, будут запускать его как файл jar. Я думал, что они могут использовать стандартное cmd-окно, но в этом окне Unicode появляется как тарабарщина.
Есть ли способ заставить "cmd window" распознавать символы Unicode и отображать их правильно? Или есть ли какой-нибудь инструмент для легкого запуска файла jar и получения правильного вывода?
BTW - перенаправление вывода в файл работает нормально, но программа интерактивна, поэтому это не будет хорошим решением.
Изменить: Спасибо всем за предложения. Кажется, что cmd-шрифты не имеют конкретных символов, которые мне нужны, и именно поэтому изменение кодовой страницы не решило мою проблему.
Я нашел способ, чтобы добавить на консоль больше моноширинных шрифтов, но после того, как я добавлю им какое-либо изменение, которое я хочу сделать в отношении шрифты (даже выбирая один из оригинальных шрифтов другого размера) - игнорируются.
Я думаю, что я просто попробую с другим инструментом, который упрощает замену шрифта differnt.
Ссылка: Java Unicode в командной строке Windows
Попробуйте chcp 1252
или chcp 65001
из командной строки. С Lucida Console или другой поддержкой шрифтов.
Проблема - это шрифт, с которым консоль Windows выводит вывод. К сожалению для вас это пользовательская настройка.
Я рекомендую вам предложить пользователям установить шрифт консоли Windows на Lucida Console. Этот шрифт должен иметь возможность обрабатывать широкие /Unicode символы.
попробуйте CMD/c/U java your.jar
Для любых ответов сначала проверьте его. Это простая консольная программа, которая проверяет, что изменение шрифта на самом деле не работает.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main( string[] args )
{
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.WriteLine( "日本語です" );
Console.Write( "Finished. Press a key. " );
Console.ReadLine();
return;
}
}
}
Я проверю, есть ли ответ конкретно "Невозможно сделать". Другие способы проверки: используйте другую оболочку. т.е. Powershell? Я посмотрю, работает ли это.
Однако вы могли бы сделать:
ConsoleApplication1.exe > output.txt
notepad.exe output.txt
Отказ от ответственности. Мой пример - С#, но консольное приложение должно работать как таковое.
И покажите результаты таким образом.
Open/run cmd.exe
Click on the icon at the top-left corner
Select properties
Then "Font" bar
Select "Lucida Console" and OK.
Write Chcp 10000 at the prompt
Finally dir /b
Также из Есть ли командная оболочка Windows, которая будет отображать символы Unicode?
CHCP 65001
DIR > UTF8.TXT
TYPE UTF8.TXT
В C++/C
просто используйте это: system("chcp 65001");
Не забудьте изменить шрифт консоли на Lucida Console