2012-04-19 44 views
5

Miałem problemy z kratami listy, które nie wyświetlały poprawnie znaków diakrytycznych i dowiedziałem się, że po wstawieniu z javy do bazy danych wartości były już błędne.JBoss Kodowanie utf 8

Post tutaj pomógł i zmieniłem właściwości projektu -> Kodowanie tekstu -> inne -> UTF-8 i to naprawiło mój problem. Rzecz w tym, że to tylko naprawia mój problem lokalnie.

Co muszę zrobić, to na moim serwerze Jboss również ustawić kodowanie w jakiś sposób. Mogę uzyskać dostęp do tego panelu, ponieważ nie mam bezpośredniego dostępu do plików konfiguracyjnych. Czy mogę to zrobić tutaj?

enter image description here

Wszelkie sugestie są mile widziane i przepraszam za to głupie pytanie, ale próbowałem wszystkiego mogę myśleć bez powodzenia. Dzięki.

Odpowiedz

6

To może pomóc https://community.jboss.org/message/643825#643825

<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="true"/> 
</system-properties> 
+2

Dla JBoss <7, dodać URIEncoding = "UTF-8" do złącz w /server/deploy/jbossweb.sar/server.xml – BoneGoat

1

Aby mieć całkowitą pewność, że masz coś takiego, jak to?

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<f:loadBundle basename="i18n.messages" var="msg"/> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
0

Może to będzie przydatne dla kogoś:

Window > Preferences > General > Workspace > Text file encoding

0

można stworzyć filtr, który przechwytuje każde żądanie w aplikacji, więc w tym filtrze możesz ustawić kodowanie znaków. Jest to wątek pod adresem developer.jboss. Filtr może być następująca:

@WebFilter(filterName = "CharacterEncodingF", urlPatterns = {"/*"}) 
    public class CharacterEncodingF implements Filter { 


    public CharacterEncodingF() { 
    } 


    /** 
    * 
    * @param request The servlet request we are processing 
    * @param response The servlet response we are creating 
    * @param chain The filter chain we are processing 
    * 
    * @exception IOException if an input/output error occurs 
    * @exception ServletException if a servlet error occurs 
    */ 
    public void doFilter(ServletRequest request, ServletResponse response, 
      FilterChain chain) 
      throws IOException, ServletException { 

     request.setCharacterEncoding("UTF-8"); 
     chain.doFilter(request, response); 

    } 

    @Override 
    public void init(FilterConfig filterConfig) throws ServletException { 
    } 

    @Override 
    public void destroy() { 
    } 


}