O problema desapareceu usando PrintWriter
e definindo seu parâmetro como UTF-8
em vez de DataOutputStream
enquanto escrevia no meu arquivo. (Java)
Eu estou no Ubuntu 13.10 e estou escrevendo um programa no eclipse que deveria gerar meu resultado em um arquivo. Estou construindo um programa de compactação e descompactação LZW que usa a conversão de caracteres em seu código. No console tudo sai bem. Mas quando eu tento redirecionar a saída para um arquivo (algo.txt), tudo o que estou recebendo é algo como isto:
扡聡膀蚃膂詢誋
{EDIT}
cat somthing.txt mostra o seguinte:
aba�������b���
locale
diz:
LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.UTF-8" LC_NUMERIC=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=en_GB.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF-8 LC_ALL=
onde ababbababaaab é a entrada do meu programa e a saída deve ser os números ascii de alguns desses caracteres
Eu tentei mudar a codificação do terminal, mas nada mudou. Alguma idéia do problema?
Tags files character-encoding