Fóruns

Início » Liferay Portal » Português

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
Henrique Simoes de Andrade
[Resolvido] Problemas com caracteres acentuados
10 de Dezembro de 2010 07:13
Resposta

Henrique Simoes de Andrade

Ranking: Regular Member

Mensagens: 165

Data de entrada: 30 de Abril de 2010

Mensagens 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
1    /**
2     * Atualizar a posição da imagem na galeria.
3     * @param imagemId
4     * @param posicao
5     * @param userId
6     * @throws SystemException
7     * @throws PortalException
8     */

Novo: GaleriaImagemLocalServiceUtil
 1    /**
 2    * Atualizar a posi��o da imagem na galeria.
 3    *
 4    * @param imagemId
 5    * @param posicao
 6    * @param userId
 7    * @throws SystemException
 8    * @throws PortalException
 9    */


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!
Thiago Leão Moreira
RE: Problemas com caracteres acentuados
3 de Dezembro de 2010 08:29
Resposta

Thiago Leão Moreira

LIFERAY STAFF

Ranking: Liferay Legend

Mensagens: 1431

Data de entrada: 10 de Outubro de 2007

Mensagens 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
Henrique Simoes de Andrade
RE: Problemas com caracteres acentuados
3 de Dezembro de 2010 09:23
Resposta

Henrique Simoes de Andrade

Ranking: Regular Member

Mensagens: 165

Data de entrada: 30 de Abril de 2010

Mensagens 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):
1    /**
2     * Reordenar a posição das imagens na galeria após exclusão de uma delas.
3     * @param noticiaId
4     * @param userId
5     * @throws SystemException
6     * @throws PortalException
7     */
8    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
 1    /**
 2    * Reordenar a posi��o das imagens na galeria ap�s exclus�o de uma delas.
 3    *
 4    * @param noticiaId
 5    * @param userId
 6    * @throws SystemException
 7    * @throws PortalException
 8    */
 9    public static void reordenarPosicaoImagens()...


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

Vou testar o encoding nas páginas agora.

vlw
Henrique Simoes de Andrade
RE: Problemas com caracteres acentuados
9 de Dezembro de 2010 12:21
Resposta

Henrique Simoes de Andrade

Ranking: Regular Member

Mensagens: 165

Data de entrada: 30 de Abril de 2010

Mensagens 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:
1String modelResourceDescription = ParamUtil.getString(request, "modelResourceDescription");
o texto já vem com problemas.

Então eis a URL gerada:
1http://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
1%C3%81gua+de+c%C3%B4co+n%C3%A3o+mata
por
1Á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
Anexo

Anexos: acentuacao_problema.jpg (162,5k)
Bruno Farache
RE: Problemas com caracteres acentuados
10 de Dezembro de 2010 06:46
Resposta

Bruno Farache

LIFERAY STAFF

Ranking: Liferay Master

Mensagens: 581

Data de entrada: 14 de Maio de 2007

Mensagens recentes

Henrique, teu Tomcat tá configurando com o encoding correto? No server.xml:

<Connector URIEncoding="UTF-8"...
Henrique Simoes de Andrade
RE: Problemas com caracteres acentuados
10 de Dezembro de 2010 07:10
Resposta

Henrique Simoes de Andrade

Ranking: Regular Member

Mensagens: 165

Data de entrada: 30 de Abril de 2010

Mensagens 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
RE: Problemas com caracteres acentuados
12 de Março de 2012 12:17
Resposta

Picanha picanha

Ranking: New Member

Mensagens: 13

Data de entrada: 9 de Março de 2012

Mensagens recentes

Estranho, estou tendo o mesmo problema. Já alterei o server.xml para usar o
1<Connector URIEncoding="iso-8859-1"
porém o contentType que vem na resposta continua sendo UTF-8.

Estou usando a versão 6.1 + tomcat. Alguém alguma dica de onde posso configurar isso?
Thiago Leão Moreira
RE: Problemas com caracteres acentuados
12 de Março de 2012 13:45
Resposta

Thiago Leão Moreira

LIFERAY STAFF

Ranking: Liferay Legend

Mensagens: 1431

Data de entrada: 10 de Outubro de 2007

Mensagens recentes

O Liferay só trabalha com o UTF-8. Todo o teu conteúdo tem que ser criado utilizando essa codificação.