Fórum

[Resolvido] Problemas com caracteres acentuados

thumbnail
Henrique Simoes de Andrade, modificado 13 Anos atrás.

[Resolvido] Problemas com caracteres acentuados

Regular Member Postagens: 165 Data de Entrada: 30/04/10 Postagens Recentes
Oi,
Após a migração do LR 5.2.3 p/ 6.0.5 percebi alguns probleminhas com acentuação.

Por exemplo: nas classes de implementação do service builder eu costumo incluir um javadoc nos métodos, então após executar o script ant 'build service', as classes onde o comentário é exibido estão com problemas ao exibir acentuação, ex:

Original: GaleriaImagemLocalServiceImpl
	/**
	 * Atualizar a posição da imagem na galeria.
	 * @param imagemId
	 * @param posicao
	 * @param userId
	 * @throws SystemException
	 * @throws PortalException
	 */ 

Novo: GaleriaImagemLocalServiceUtil
	/**
	* Atualizar a posi��o da imagem na galeria.
	*
	* @param imagemId
	* @param posicao
	* @param userId
	* @throws SystemException
	* @throws PortalException
	*/


Algumas páginas estão com o mesmo problema de acentuação como a estrutura de diretórios do CKEditor ao abrir a janela Localizar no Servidor, se a página estiver com acentuação exibe os caracteres como acima.

Preciso configurar algum arquivo para definir algum charset?

Obrigado!
thumbnail
Thiago Leão Moreira, modificado 13 Anos atrás.

RE: Problemas com caracteres acentuados

Liferay Legend Postagens: 1449 Data de Entrada: 10/10/07 Postagens Recentes
Boa tarde Henrique,

Para cada arquivo com problema você terá que setar o charset para utf8. No Eclipse vá ao menu "Edit" e depois em "Set encoding..."

Um abraço
thumbnail
Henrique Simoes de Andrade, modificado 13 Anos atrás.

RE: Problemas com caracteres acentuados

Regular Member Postagens: 165 Data de Entrada: 30/04/10 Postagens Recentes
Boa tarde Thiago,
Vlw pela resposta.

Então, troquei o encoding no Eclipse, estava cp1252 (padrão) para utf-8, mas aí a acentuação que estava exibindo corretamente passou a exibir aqueles caracteres que parecem um retângulo. Então troquei p/ ISO-8859-1 voltando ao normal.

Mesmo assim, antes de trocar p/ iso, eu executei o service builder novamente p/ ver se os comentários ficariam corretos, mas não funcionou.

O problema, no caso do código, não é na acentuação da classe de implementação, mas sim na classe gerada pelo service builder, por exemplo:

GaleriaLocalServiceImpl.java (classe original, no qual o service builder irá gerar o GaleriaLocalServiceUtil.java):
	/**
	 * Reordenar a posição das imagens na galeria após exclusão de uma delas.
	 * @param noticiaId
	 * @param userId
	 * @throws SystemException
	 * @throws PortalException
	 */
	public void reordenarPosicaoImagens()...

Até aqui tudo bem, no eclipse a acentuação está ok, daí eu executo o Ant 'Build Service', só que ao exibir o comentário do *Util, exibe assim:

GaleriaLocalServiceUtil.java
	/**
	* Reordenar a posi��o das imagens na galeria ap�s exclus�o de uma delas.
	*
	* @param noticiaId
	* @param userId
	* @throws SystemException
	* @throws PortalException
	*/
	public static void reordenarPosicaoImagens()...


A classe *Impl continua com a acentuação correta.

Vou testar o encoding nas páginas agora.

vlw
thumbnail
Henrique Simoes de Andrade, modificado 13 Anos atrás.

RE: Problemas com caracteres acentuados

Regular Member Postagens: 165 Data de Entrada: 30/04/10 Postagens Recentes
Rapaz... esse tá osso...

Após muitos testes, identifiquei que não tem relação com a migração do 5.2.3 p/ 6.0.5, pelo menos referente a banco de dados... menos mal... rs

O problema da acentuação só acontece em algum pontos, por exemplo, tenho um conteúdo web cujo o nome é Água de côco não mata.

A exibição deste conteúdo é normal quando eu o adiciono em um portlet de exibição de conteúdo web, até aí tudo bem.

Mas se eu entrar na administração, conteúdo web e editar a permissão dele, os caracteres acentuados são exibidos de forma incorreta (veja imagem em anexo).

Então debugando (muito) o código-fonte, percebi que o problema está na recuperação do parâmetro modelResourceDescription que é gerado pela classe com.liferay.taglib.security.PermissionsURLTag na linha 86, esta classe recebe alguns parâmetros e no fim gera uma URL com o devido encode.

Mas ao recuperar este parâmetro lá na página edit_permissions_algorithm_5_to_6.jsp, linha 26:
String modelResourceDescription = ParamUtil.getString(request, "modelResourceDescription");
o texto já vem com problemas.

Então eis a URL gerada:
http://localhost:9080/group/control_panel/manage?p_p_auth=SLeEFr1n&p_p_id=86&p_p_lifecycle=0&p_p_state=maximized&doAsGroupId=10136&refererPlid=14323&_86_struts_action=%2Fportlet_configuration%2Fedit_permissions&_86_redirect=%2Fgroup%2Fcontrol_panel%2Fmanage%3Fp_p_id%3D15%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_p_mode%3Dview%26doAsGroupId%3D10136%26refererPlid%3D14323%26_15_refererPlid%3D14323%26_15_doAsGroupId%3D10136&_86_portletResource=15&_86_modelResource=com.liferay.portlet.journal.model.JournalArticle&_86_modelResourceDescription=%C3%81gua+de+c%C3%B4co+n%C3%A3o+mata&_86_resourcePrimKey=236403


Conteúdo está &_86_modelResourceDescription=%C3%81gua+de+c%C3%B4co+n%C3%A3o+mata, aparentemente o encode está ok, tanto que se utilizar a classe com.liferay.portal.kernel.util.HttpUtil.decodeURL() o texto é retornado de forma correta.

Eu até fiz um teste fazendo um hook desta página utilizando o decodeURL (já imaginando que o texto já estivesse vindo errado) e não funcionou, continuou na mesma (o texto realmente já chega com problemas). Então acredito que entre a criação desta URL e a página há algum problema com a codificação, mas já esgotei horas e não consegui identificar onde.

Se eu alterar a URL direto no navegador, trocando
%C3%81gua+de+c%C3%B4co+n%C3%A3o+mata
por
Água de côco não mata
o conteúdo é exibido normalmente (tá tudo bem... assim também teria que funcionar... ehe).

Alguma idéia?

Nem duvido que é só trocar uma ou duas palavras no código de lugar... emoticon

vlw
thumbnail
Bruno Farache, modificado 13 Anos atrás.

RE: Problemas com caracteres acentuados

Liferay Master Postagens: 603 Data de Entrada: 14/05/07 Postagens Recentes
Henrique, teu Tomcat tá configurando com o encoding correto? No server.xml:

<Connector URIEncoding="UTF-8"...
thumbnail
Henrique Simoes de Andrade, modificado 13 Anos atrás.

RE: Problemas com caracteres acentuados

Regular Member Postagens: 165 Data de Entrada: 30/04/10 Postagens Recentes
Bruno Farache:
Henrique, teu Tomcat tá configurando com o encoding correto? No server.xml:

<Connector URIEncoding="UTF-8"...


Olá Bruno!

Funcionou! emoticon

Coloquei tanta informação e não disse o ambiente que o Liferay está rodando, estou utilizando o JBoss 5.0.1 (não bundle, foi instalação do "zero").

Realmente no server.xml do JBoss não estava com o URIEncoding e dei uma olhada na instalação de um bundle Tomcat e lá estava o atributo.

Bastou atualizar o server.xml e reiniciar o Liferay!

Muito obrigado!

Att.,
Henrique S.
Picanha picanha, modificado 12 Anos atrás.

RE: Problemas com caracteres acentuados

New Member Postagens: 13 Data de Entrada: 09/03/12 Postagens Recentes
Estranho, estou tendo o mesmo problema. Já alterei o server.xml para usar o
<connector uriencoding="iso-8859-1" < code></connector>
porém o contentType que vem na resposta continua sendo UTF-8.<br><br>Estou usando a versão 6.1 + tomcat. Alguém alguma dica de onde posso configurar isso?
thumbnail
Thiago Leão Moreira, modificado 12 Anos atrás.

RE: Problemas com caracteres acentuados

Liferay Legend Postagens: 1449 Data de Entrada: 10/10/07 Postagens Recentes
O Liferay só trabalha com o UTF-8. Todo o teu conteúdo tem que ser criado utilizando essa codificação.