sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] UTF-8 sous Linux


From: Malo Pichot
Subject: Re: [sdx-users] UTF-8 sous Linux
Date: Mon, 10 Nov 2003 11:16:02 +0000
User-agent: KMail/1.5

Bonjour,

Je ne sais pas si je cerne l'ensemble du problème (comprends pas 
bien la saisie dans l'application), mais je peux dire que la 
version CVS de SDX v.2.1 n'est entièrement passée en UTF-8. 
L'explication tient à un soucis de compatibilité avec les 
versions de Java inférieures à la version 1.4.x, incapables de 
compiler la méthode "java.net.URLEncoder.encode" avec deux 
arguments (le second étant l'encodage désiré).

Les modifications à effectuer sont celles-ci :

 # src/webapp/sitemap.xmap
   - sérialiseur HTML ISO-8859-1 en UTF-8

 # src/webapp/WEB-INF/web.xml
   - ajouter le bloc :
     <init-param>
       <param-name>form-encoding</param-name>
       <param-value>UTF-8</param-value>
     </init-param>

Ces modifications sont peut-être suffisantes pour votre problème. 
Mais pour rendre SDX v.2.1 entièrement compatible UTF-8 (dont la 
génération correcte des '@escapedValue' en UTF-8), il faut 
modifier dautres fichiers :

 # 
src/java/fr/gouv/culture/sdx/search/lucene/query/AbstactQuery.java
    - importer la classe : 'java.io.UnsupportedEncodingException'
    - modifier la ligne 459 : "atts.addAttribute("", 
Node.Name.ESCAPED_LUCENE_QUERY..." par le bloc :
      try {
        attd.add.Attribute("", Node.Name.ESCAPED_LUCENE_QUERY. 
Node.Name.ESCAPED_LUCENE_QUERY, "CDATA", 
java.net.URLEncoder.endode(luceneQueryString, "UTF-8"));
      }
      catch (UnsupportedEncodingException uee) {
        attd.add.Attribute("", Node.Name.ESCAPED_LUCENE_QUERY. 
Node.Name.ESCAPED_LUCENE_QUERY, "CDATA", 
java.net.URLEncoder.endode(luceneQueryString));
      }

 # src/java/fr/gouv/culture/sdx/search/lucene/query/Results.java
    - importer la classe : 'java.io.UnsupportedEncodingException'
    - modifier la ligne 508 : "esc = 
java.net.URLEncoder.encode(value); par le bloc :
      try {
        esc = java.net.URLEncoder.encode(value, "UTF-8");
      }
      catch (UnsupportedEncodingException uee) {
        esc = java.net.URLEncoder.encode(value);
      }

 # src/java/fr/gouv/culture/sdx/search/lucene/query/Terms.java
    - faire les mêmes modifications que ci-dessus.

-- 
Malo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]