I caratteri UTF non vengono memorizzati o visualizzati correttamente dopo la finestra di dialogo di salvataggio

Problema

Tocca il campo di testo della finestra di dialogo interfaccia utente con sling:resourceType=granite/ui/components/coral/foundation/form/textfield converte i caratteri latini in modo errato. Per esempio, “Eléctricos” viene salvato come “Eléctricos”.

Questo problema si verifica con molti caratteri linguistici internazionali.

Causa

La codifica dei caratteri predefinita utilizzata da Sling non è UTF.

Risoluzione

Per forzare la finestra di dialogo a salvare i dati nella codifica dei caratteri UTF, puoi aggiungere un elemento nascosto al modulo di dialogo (soluzione A) o impostare la codifica predefinita su UTF-8 (soluzione B).

A. Aggiungi un elemento nascosto al modulo di dialogo 

  1. Vai a http://aemhost/crx/de/index.jsp e accedi come amministratore

     

  2. Vai al tuo nodo di dialogo, per esempio, /apps/sitename/components/content/customtext/cq:dialog/content/items/settings/items/columns/items/displayAs/items

     

  3. Crea un set di caratteri dei sottonodi con le seguenti proprietà:

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

    In alternativa puoi copiare un nodo simile dalla cartella /libs.  Per esempio, questo nodo /libs/cq/personalization/touch-ui/content/commons/createpagewizard/jcr:content/body/items/form/items/charset

  4. Fai clic su salva tutto

B. Imposta la codifica dei caratteri predefinita su UTF-8

  1. Vai a http://aemhost/system/console/configMgr/org.apache.sling.engine.parameters e accedi come amministratore

  2. Imposta la codifica dei parametri predefinita su UTF-8

  3. Fai clic su salva

Logo Adobe

Accedi al tuo account