Кодирование JBOSS 7 не работает должным образом

У меня были проблемы с моими списками, которые не отображали диакритические знаки правильно, и я обнаружил, что когда я вставлял из java в db значения, которые уже прослушивались.

Сообщение здесь помогло, и я изменил свойства своего проекта -> Кодировка текста -> другое -> UTF-8, и это решило мою проблему. Дело в том, что это решает мою проблему только локально.

Что мне нужно сделать, так это на моем сервере Jboss также как-то установить кодировку. Вот что я поместил в свой файл конфигурации:

    <?xml version='1.0' encoding='UTF-8'?>

<server name="vali-ubuntu" xmlns="urn:jboss:domain:1.0">
    extensions>
        extension module="org.jboss.as.clustering.infinispan"/>
        extension module="org.jboss.as.connector"/>
        extension module="org.jboss.as.deployment-scanner"/>
        extension module="org.jboss.as.ee"/>
        extension module="org.jboss.as.ejb3"/>
        extension module="org.jboss.as.jaxrs"/>
        extension module="org.jboss.as.jmx"/>
        extension module="org.jboss.as.logging"/>
        extension module="org.jboss.as.naming"/>
        extension module="org.jboss.as.osgi"/>
        extension module="org.jboss.as.remoting"/>
        extension module="org.jboss.as.sar"/>
        extension module="org.jboss.as.security"/>
        extension module="org.jboss.as.threads"/>
        extension module="org.jboss.as.transactions"/>
        extension module="org.jboss.as.web"/>
        extension module="org.jboss.as.weld"/>
    /extensions>
     system-properties>
        property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
        property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="tru
e"/>
    /system-properties>

//.....

Это не работает, поэтому, возможно, мне нужно добавить что-то еще. Я пробовал все, что мог найти, но безуспешно, поэтому любая помощь приветствуется. Спасибо.

РЕДАКТИРОВАТЬ: Из того, что я читал, это будет работать только в jboss 7.1.0 beta 1 или выше. (URIEncoding) и я использую JBoss 7.0.2, поэтому мне нужна замена 7.0.2


person Fofole    schedule 19.04.2012    source источник


Ответы (3)


для jboss-as-7.1.1.Final я добавил эту строку в standalone.conf, этот файл находится в каталоге bin:

JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.connector.URI_ENCODING=UTF-8"
person vici    schedule 12.11.2012

Вы пытались установить кодировку по умолчанию для JVM? Установите свойство со сбивающим с толку названием:

-Dfile.encoding=UTF-8

(для JBoss 5 вы должны установить это в run.conf. Я не знаю, отличается ли это для JBoss 7)

person Brian Agnew    schedule 19.04.2012
comment
Это то, что я нашел всевозможные решения, которые работают в других версиях JBoss, но ни одно из них не сработало для меня в JBoss 7 +1 за попытку помочь. - person Fofole; 19.04.2012
comment
А где ты это пробовал? Возможно, вам придется поместить его в файл standalone.conf (или domain.conf, в зависимости от того, какой из них вы используете) в файле JAVA_OPTS. - person James R. Perkins; 19.04.2012
comment
Как говорит @JamesR.Perkins, вы можете поместить его в файл *.conf, который управляет параметрами времени выполнения JVM. Вы также можете передать эти значения при запуске из командной строки. - person ddri; 24.04.2012
comment
Это также работает на JBoss 7.1, файл конфигурации теперь $JBOSS_HOME/bin/standalone.conf - person stacker; 22.05.2014

Для меня проблема была решена добавлением в component.xml следующего:

 <web:character-encoding-filter encoding="UTF-8"
                    override-client="true"
                    url-pattern="*.seam" />
person shasho    schedule 07.10.2012