Membro desde: 30/01/2003 00:00:00
Mensagens: 26
Offline
Olá,
<BR>
<BR> Tenho uma aplicação Servlet/JSP rodando com tomcat num servidor linux. Quando faço uma busca numa base Oracle 8.1.7.3 e na ordenação ele considera palavras acentuadas com menor peso. Por exemplo, uma busca ordenada ele está retornando assim:
<BR>
<BR> A
<BR> E
<BR> I
<BR> Á
<BR> É
<BR> Í
<BR>
<BR> O correto seria:
<BR>
<BR> A
<BR> Á
<BR> E
<BR> É
<BR> I
<BR> Í
<BR>
<BR> Parece que o Oracle tem variáveis pra controlar isso: NLS_LANG e NLS_SORT. Mas não estou bem certo. O tomcat tem algum recurso pra isso?
<BR>Alguma idéia??
<BR>
<BR>Adriano.
Membro desde: 11/02/2003 00:00:00
Mensagens: 254
Localização: 171007919
Offline
Acho que a melhor alternativa é configurar o banco para tratar isso. Vc vai ter que configurar os parametros de idioma do banco. Quando eu executei o seguinte comando
<BR>
<BR><!-- BBCode Start --><B>select * from v$nls_parameters;</B><!-- BBCode End -->
<BR>
<BR>que retorna configuração de idioma o resultado foi o seguinte:
<BR>
<BR><!-- BBCode Start --><B>
<BR>
<BR>PARAMETER VALUE
<BR>--------------------------------- ---------------------------------
<BR>NLS_LANGUAGE AMERICAN
<BR>NLS_TERRITORY AMERICA
<BR>NLS_CURRENCY $
<BR>NLS_ISO_CURRENCY AMERICA
<BR>NLS_NUMERIC_CHARACTERS .,
<BR>NLS_DATE_FORMAT DD-MON-RR
<BR>NLS_DATE_LANGUAGE AMERICAN
<BR>NLS_CHARACTERSET WE8DEC
<BR>NLS_SORT BINARY
<BR>NLS_CALENDAR GREGORIAN
<BR>
<BR>10 rows selected.
<BR>
<BR></B><!-- BBCode End -->
<BR>
<BR>Depois eu setei o NLS_LANG para o
<BR><!-- BBCode Start --><A HREF="http://www-rohan.sdsu.edu/doc/oracle/server803/A54632_01/apd.htm" TARGET="_blank">português</A><!-- BBCode End -->:
<BR><!-- BBCode Start --><B>set NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1</B><!-- BBCode End -->
<BR>
<BR>Daí, executando novamente o comando para ver as configurações o resultado foi:
<BR>
<BR>PARAMETER VALUE
<BR>--------------------------------- ---------------------------------
<BR>NLS_LANGUAGE BRAZILIAN PORTUGUESE
<BR>NLS_TERRITORY BRAZIL
<BR>NLS_CURRENCY Cr$
<BR>NLS_ISO_CURRENCY BRAZIL
<BR>NLS_NUMERIC_CHARACTERS ,.
<BR>NLS_DATE_FORMAT DD/MM/RR
<BR>NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE
<BR>NLS_CHARACTERSET WE8DEC
<BR>NLS_SORT WEST_EUROPEAN
<BR>NLS_CALENDAR GREGORIAN
<BR>
<BR>10 linhas selecionadas.
<BR>
<BR>Agora, eu fiz essas configurações de modo que seja apenas temporarias. Me parece que há um arquivo para fazer com que sejam permanentes. Só que não lembro qual é. Tente apenas setar o NLS_LANGUAGE antes de iniciar o tomcat para ver no que dá.
<BR>
<BR>valeuz...