BRMS でファイルをダウンロードするとファイル名が文字化けします
Environment
- JBoss Enterprise Business Rule Management System (BRMS)
- 5.x
Issue
BRMS web ブラウザーからデシジョンテーブルを取得すると、ファイル名が文字化けします。コンテンツ (デシジョンテーブルそのもの) には問題ありませんが、ファイル名がルール名と異なります。
アップロードしたファイル
decisionTable1.xls
ダウンロードしたファイル
「ッニ」モニ」ー・ラ圸.xls
Resolution
添付されている ContentDispositionFilter を適用してください。
- content-disposition-filter.jar を $JBOSS_HOME/server/$PROFILE/lib にコピーします。
-
以下のエントリを、$JBOSS_HOME/server/$PROFILE/deploy/jboss-brms.war/WEB-INF/web.xml に追加します。
<filter> <filter-name>ContentDispositionFilter</filter-name> <filter-class>com.redhat.jboss.support.ContentDispositionFilter</filter-class> </filter> ... <filter-mapping> <filter-name>ContentDispositionFilter</filter-name> <url-pattern>/org.drools.guvnor.Guvnor/asset</url-pattern> </filter-mapping>
asset/rule 名にマルチバイトを使用するとこのような問題が発生する場合があります。マルチバイト名は使用しないようにしてください。
Root Cause
ダウンロードした xls ファイルの名前が、'New Rule' 作成ポップアップダイアログボックスで指定した名前と異なります。
名前にマルチバイトが含まれている場合は、この問題が発生します。
Content-Disposition filename で許容されるエンコード方法は、ブラウザーの実装によって異なります。これは、BRMS の問題とは異なります。
添付されている ContentDispositionFilter は User-Agent を確認して IE/FireFox/Chrome のエンコード方法を選択します。ただし、Safari ではこれが有効ではありません。
Attachments
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments