Los caracteres UTF no se almacenan o no se muestran correctamente después de guardar el cuadro de diálogo

Problema

El campo de texto del diálogo de la interfaz de usuario táctil con sling:resourceType=granite/ui/components/coral/foundation/form/textfield convierte incorrectamente los caracteres latinos. Por ejemplo, "Eléctricos" se guarda como "Eléctricos".

Este problema ocurre con muchos caracteres de idiomas internacionales.

Causa

La codificación de caracteres predeterminada utilizada por Sling no es UTF.

Resolución

Para forzar el diálogo a guardar datos en codificación de caracteres UTF, puede añadir un elemento oculto al formulario de diálogo (solución A) o establecer la codificación predeterminada en UTF-8 (solución B).

A. Añada un elemento oculto al formulario de diálogo

  1. Vaya a http://aemhost/crx/de/index.jsp e inicie sesión como administrador

     

  2. Vaya al nodo de diálogo, por ejemplo, /apps/sitename/components/content/customtext/cq:dialog/content/items/settings/items/columns/items/displayAs/items

     

  3. Cree un conjunto de caracteres de subnodos con las siguientes propiedades:

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

    Alternativamente puede copiar un nodo similar del directorio /libs.  Por ejemplo, este nodo /libs/cq/personalization/touch-ui/content/commons/createpagewizard/jcr:content/body/items/form/items/charset

  4. Haga clic en Guardar todo

B. Establezca la codificación de caracteres predeterminada en UTF-8

  1. Vaya a http://aemhost/system/console/configMgr/org.apache.apache.sling.engine.parameters e inicie sesión como administrador.

  2. Establecer la codificación de parámetros predeterminada en UTF-8

  3. Haga clic en Guardar

Logotipo de Adobe

Inicia sesión en tu cuenta