[VRaptor] Problema com encoding no upload de arquivo

Prezados,

Quando realizo upload de um arquivo XML, ao processar seu conteúdo no Controller, reparo que os caracteres especiais estão todos quebrados (o arquivo em si está com os caracteres especiais todos ok).

Meu form:

[code]

Arquivo:

[/code]

Alguém já passou por este problema?

Grato pela atenção!

Tentei colocando no web.xml:

<context-param> <param-name>br.com.caelum.vraptor.encoding</param-name> <param-value>UTF-8</param-value> </context-param>

Mas também sem sucesso…

Coloquei no form:

E coloquei o encoding da jsp também para UTF-8, e nada. =(

o arquivo xml foi salvo em utf-8?

Opa Lucas, obrigado por responder!

Sim, o arquivo está salvo em UTF-8, porém o problema persiste. =(

bem estranho… no método que faz o upload, como vc está salvando/lendo o arquivo?

Dessa forma:

[code]@Post
@Path("/pessoa/upload")
public void upload(UploadedFile dominio) {
InputStream is = dominio.getFile();
DataInputStream in = new DataInputStream(is);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = “”;

	final StringBuffer content = new StringBuffer();
	
	while ((line = br.readLine()) != null) {
		content.append(line);
	}

           //Restante do processamento...

	result.redirectTo(this).formUpload();
}[/code]

Tenta usar um IOUtils.toString(is) ou ByteArrays.toString(is)… eles já fazem esse código, e já lidam com o encoding.

Lucas!

Deu certo dessa forma que você falou:

InputStream is = dominio.getFile(); final String content = IOUtils.toString(is, "UTF-8");

Obrigado! =D