ダイアログの保存後、UTF 文字が正しく保存または表示されません

問題点

タッチ UI ダイアログテキストフィールド、sling:resourceType=granite/ui/components/coral/foundation/form/textfield においてラテン文字が正しく変換されません。例えば、「Eléctricos」は「Eléctricos」として保存されます。

この問題は、国際語の文字の多くに当てはまります。

原因

Sling で使用されるデフォルトの文字エンコードは UTF ではありません。

解決策

UTF 文字エンコードにおいて、ダイアログにデータを保存させるには、ダイアログボックスフォームに非表示エレメントを追加する(ソリューション A)か、デフォルトのエンコードを UTF-8 に設定することが可能です(ソリューション B)。

A. ダイアログボックスのフォームに非表示エレメントを追加します

  1. http://aemhost/crx/de/index.jsp に移動し、管理者としてログインします。

     

  2. ダイアログノード、例えば /apps/sitename/components/content/customtext/cq:dialog/content/items/settings/items/columns/items/displayAs/items に移動します

     

  3. 次のプロパティを使用して、サブノードの文字セットを作成します

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

    または、/libs ディレクトリから同様のノードをコピーすることもできます。  例えば、このノードです:/libs/cq/personalization/touch-ui/content/commons/createpagewizard/jcr:content/body/items/form/items/charset

  4. すべて保存」をクリックします。

B. デフォルトの文字エンコードを UTF-8 に設定します

  1. http://aemhost/system/console/configMgr/org.apache.sling.engine.parameters に移動し、管理者としてログインします。

  2. デフォルトのパラメーターエンコードUTF-8 に設定します。

  3. 保存」をクリックします。

アドビのロゴ

アカウントにログイン