Oracle NSL_LANG variable

Vous utilisez Apache comme moteur Web avec Mapserver ou GeoServer et vous voulez avez des problèmes d'accents dans votre application. 1) Identifier votre encodage de BD; SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET' or PARAMETER = 'NLS_LANGUAGE'; ------------------------------------------------- PARAMETER VALUE NLS_LANGUAGE CANADIAN FRENCH NLS_CHARACTERSET WE8ISO8859P1 2) Identifier votre code de langue http://download.oracle.com/docs/cd/A84870_01/doc/nt.816/a73010/appc.htm Dans mon cas il sera: "CANADIAN FRENCH_CANADA.WE8ISO8859P1" 3) On peut spécifier ce code dans une variable d'environnement sur le serveur export NLS_LANG="CANADIAN FRENCH_CANADA.WE8ISO8859P1" ou l'ajouter dans le profile de tous les user sudo vim /etc/profile 4) Spécifier votre encodage de langue Oracle correctement dans Apache On doit placer une variable d'environnement dans le fichier de configuration d'Apache. Attention, cette conf NE DOIT PAS être placée dans un balise <VirtualHost> </VirtualHost> ... sudo vim /etc/apache2/httpd.conf ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory /usr/lib/cgi-bin/ >    AllowOverride None    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch    Order allow,deny    Allow from all </Directory> #spécifier le client Oracle et la langue <Location "/cgi-bin/">    SetEnv ORACLE_HOME "/opt/oracle/clients/10.2.0.1"    SetEnv NLS_LANG "CANADIAN FRENCH_CANADA.WE8ISO8859P1" </Location> #Rep temp pour mapserver Alias /ms_tmp/ "/var/www/ms_tmp/" <Directory "/var/www/ms_tmp/">    Options Indexes MultiViews FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all </Directory>

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current month ye@r day *