Caracteres UTF não armazenados ou exibidos incorretamente após o diálogo Salvar

Problema

Campo de texto do diálogo da interface touch com sling:resourceType=granite/ui/components/coral/foundation/form/textfield converte caracteres latinos incorretamente. Por exemplo, "Eléctricos" é salvo como "Eléctricos".

Esse problema se aplica a caracteres de muitos idiomas internacionais.

Causa

A codificação de caracteres padrão usada pelo Sling não é UTF.

Resolução

Para forçar a caixa de diálogo a salvar dados na codificação de caracteres UTF, você pode adicionar um elemento oculto ao formulário de diálogo (solução A) ou definir a codificação padrão como UTF-8 (solução B).

A. Adicione um elemento oculto ao formulário de diálogo 

  1. Vá para http://aemhost/crx/de/index.jsp e faça logon como admin

     

  2. Vá para o seu nó de diálogo, por exemplo, /apps/sitename/components/content/customtext/cq:dialog/content/items/settings/items/columns/items/displayAs/items

     

  3. Crie um subnó charset com as seguintes propriedades:

    sling:resourceType (String) = granite/ui/components/coral/foundation/form/hidden
    ignoreData (Boolean) = true
    name (String) = _charset
    _value (String) = utf-8

    Alternativamente, você pode copiar um nó similar do diretório /libs.  Por exemplo, esse nó /libs/cq/personalization/touch-ui/content/commons/createpagewizard/jcr:content/body/items/form/items/charset

  4. Clique em Salvar tudo

B. Definir a codificação de caracteres padrão para UTF-8

  1. Vá para http://aemhost/system/console/configMgr/org.apache.sling.engine.parameters e faça logon como admin

  2. Defina Codificação Padrão de Parâmetros como UTF-8

  3. Clique em Salvar

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?