Fórum
[Resolvido] Problemas com caracteres acentuados
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
Novo: GaleriaImagemLocalServiceUtil
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!
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!
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
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, 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):
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
A classe *Impl continua com a acentuação correta.
Vou testar o encoding nas páginas agora.
vlw
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
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:
Então eis a URL gerada:
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
Alguma idéia?
Nem duvido que é só trocar uma ou duas palavras no código de lugar...
vlw
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...
vlw
Anexos:
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"...
<Connector URIEncoding="UTF-8"...
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 RecentesBruno Farache:
Henrique, teu Tomcat tá configurando com o encoding correto? No server.xml:
<Connector URIEncoding="UTF-8"...
Olá Bruno!
Funcionou!
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?
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.