Encoding vraptor acentuação

Pessoal,

tenho um projeto na minha ide configurado como utf-8, meus JSPs usam utf-8 e etc.

também coloquei no meu web.xml o seguinte codigo, conforme o manual do vraptor

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

quando tenho uma tag na jsp como:

<label>Usuário:</label>

o codigo é acentuado e renderizado corretamente, porem quando acento vem do controller como em:

//controller:
validator.add(new ValidationMessage("Usuário ou senha incorretos", "erro"));

//view
<c:forEach var="error" items="${errors}">
   ${error.category} - ${error.message}<br />
&lt;/c:forEach&gt;

a mensagem fica assim: - Usuário ou senha incorretos

alguem tem uma solucao pra isso?

abrasssssssss

o encoding do arquivo messages.properties está UTF-8?

o encoding dos seus arquivos java estão em UTF-8?

bom dia lucas, nao uso internacionalização por isso nao tenho o messages.properties.

quanto aos arquivos java, suspeitei disso, porem quando vejo as propriedades do projeto (estou usando netbeans) está em utf-8.

Existe algum meio de conferir se o .java esta em utf-8 ?

abrasssssssss

tenta ver as propriedades do próprio arquivo…

mas pelo erro do encoding o que tá acontecendo eh que ele tah mostrando como ISO-8859-1 (ou similar)…

tenta fazer o seguinte, coloca isso no começo do jsp q tah dando problema:

<%@page contentType="text/html; charset=UTF-8" %>

se não resolver, pode ser que o compilador java do netbeans esteja compilando a classe em ISO (por isso que a gente não gosta de colocar texto junto com código java, sempre usa o messages.properties ou similar)

oi lucas obrigado pela atençao.

ja havia colocado a diretiva page no meu jsp.

realmente o problema era no compilador java do netbeans, ja havia alterado a propriedade de encoding para utf8 pela GUI mas isso nao alterou nada no meu projeto.

entao abri meu pom.xml e adicionei a tag encoding no maven-compiler-plugin

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

fica a solucao…

abrasssssss

[quote=renanreismartins]…
a mensagem fica assim: - Usuário ou senha incorretos
…[/quote]Oi Renan, (apenas complementando)
No Eclipse existe uma configuração de 'Encoding (em General…->TextEditors->Spelling) q (tb) pode resolver esse problema.
Acredito q no netBeans tb haja 1 config como esta! :wink:
Espero ter contribuido,

Boa tarde.

Estou com um problema no character encoding de uma JSP.

tenho o seguinte código na minha JSP:

		<label>Nome Cadastro:
		<span class="small">Nome completo com acentuação.</span></label>
		<input type="text" maxlength="200" name="entity.nomeCadastro" class="k-textbox big" value="${entity.nomeCadastro}"/><br/>

e o seguinte código no meu controller

	@Get("cadastroGenerico/listarDocumentos")
	public void listarDocumentos(CadastroGenericoVO entity) {
		//Meu código aqui
	}

o meu problema é… quando digito alguma coisa com acentuação, no momento de passar para o controller ele está perdendo a acentuação, exemplo:
Se tenho a seguinte entrada na página "Premiação"
quando vou utilizar no controller ele está da seguinte maneira: “Premiação”

todas as minhas JSP estão com o pageEncoding e o contentType como "UTF-8 e já alterei também o web.xml como é explicado na documentação do vRaptor

@roberto.rosin,

Já experimentou mudar, da pág., o charset para ‘ISO-8859-1’??!

eu estava utilizando ISO, mas dava problema no retorno, ai passei a utilizar UTF-8,
e ainda com ISO-8859-1 não estava correta a codificação

eu consegui resolver em partes utilizando um “ajuste técnico”

				byte[] stringBytesISO = isoString.getBytes("ISO-8859-1");
				utf8String = new String(stringBytesISO, "UTF-8");

onde stringBytesISO é a minha string com “problema”,

resolveu o problema, mas não sei se seria a melhor solução

Tenta colocar isso no dos seus arquivos:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

verifique se a declaração dos jsps estão como:

<%@page contentType="text/html; charset=UTF-8"%>

(isso pode estar num arquivo de header que é incluído em todos os jsps)

se ainda assim não funcionar, tente colocar nos seus forms:

<form .... accept-charset="UTF-8">