Considering UTF-8 + Windows CMD nightmare...
Funciona para C #.
Deve funcionar também para Java, talvez você esteja fazendo isso errado. Você deve colocar seu código de problema no stackoverflow e perguntar onde você está errado com as instruções de codificação.
To check it: write a program that fills a file with latin/korean/ukrainian strings.
Eu fiz algo parecido em C #
On direct output,
você quer dizer em exibição
the file will be ok if you set the encoding properly into your source code (i checked it with Java, easy encoding settings for files). But if you redirect your output into a log file, you will simply have series of ???????????????????? in it ...
Você precisa obter a declaração de codificação correta em seu código e, em seguida, o > vai funcionar.
Eu não tive que mudar o CHCP para apenas redirecionar caracteres unicode não ascii para um arquivo. Ou, para colocar de outra forma.
The indirection could be useful too, like this:
PROMPT> myprog < inputdata.txt > outputdata.txt Am i missing something? Is it cmd that badly converts stdout, or Java that adapts System.out, depending of the cmd encoding? I have not found any method to re-define System.out/err encoding.
É tudo um problema com seu código Java.
Veja como funciona aqui em C #
E olhe meu comentário sobre a resposta de Htin. Mas isso é para C #
Você quer isso para Java, envie uma parte demonstrativa do código com sua pergunta para stackoverflow. É um problema de programação que você tem.