Les caractères UTF ne sont pas enregistrés ou affichés correctement après l’enregistrement de la boîte de dialogue

Problème

Le champ de texte de la boîte de dialogue tactile avec sling:resourceType=granite/ui/components/foundation/foundation/form/textfield convertit les caractères latins de manière incorrecte. Par exemple, « Eléctricos » est enregistré en tant que « Eléctricos ».

Ce problème s’applique à de nombreux caractères internationaux de langue.

Cause

Le codage de caractères par défaut utilisé par Sling n’est pas UTF.

Résolution

Pour forcer la boîte de dialogue à enregistrer des données de codage des caractères UTF, vous pouvez ajouter un élément masqué au formulaire de la boîte de dialogue (solution A) ou définir un codage par défaut sur UTF-8 (solution B).

A. Ajouter un élément masqué au formulaire de boîte de dialogue :

  1. Accédez à la page http://aemhost/crx/de/index.jsp et connectez-vous en tant qu’administrateur.

     

  2. Accédez à votre nœud de boîte de dialogue, par exemple /apps/sitename/components/content/customtext/cq:dialog/content/items/settings/items/columns/items/displayAs/items.

     

  3. Créez un sous-nœud charset doté des propriétés suivantes :

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

    Vous pouvez également copier un nœud similaire à partir du répertoire /libs.  Vous pouvez par exemple copier ce nœud : /libs/cq/personalization/touch-ui/content/commons/createpagewizard/jcr:content/body/elements/form/elements/charset.

  4. Cliquez sur Tout enregistrer.

B. Définir un codage par défaut sur UTF-8.

  1. Accédez à la page http://aemhost/system/console/configMgr/org.apache.sling.engine.parameters et connectez-vous en tant qu’administrateur.

  2. Changez le paramètre de codage par défaut en UTF-8.

  3. Cliquez sur Enregistrer

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?