- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 10 anos, 6 meses atrás por rman.
-
AutorPosts
-
5 de maio de 2014 às 7:05 pm #106585marlontkParticipante
Boa tarde,
Estou com um problema de caracteres(acentuação) e gostaria de uma ajuda na solução.No meu ambiente tenho um banco Oracle Standard Edition one 10G Release 10.2.0.1 utilizando NLS_CHARACTERSET=WE8ISO8859P1 que esta funcionando sem nenhum problema.
Minhas estações são Basicamente Windows Xp e Windows 7.
Só que recentemente tivemos que instalar um Servidor com windows 2008 R2 e este esta com problemas de caracteres de acentuação apenas nesta maquina.Exemplo:
Minha maquina(windows 7select * from v$version;
BANNER
—————————————————————-
Oracle Database 10g Release 10.2.0.1.0 – 64bit Production
PL/SQL Release 10.2.0.1.0 – Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 – Production
NLSRTL Version 10.2.0.1.0 – ProductionSQL> desc mbc;
Name Type Nullable Default Comments
—– ———— ——– ——- ——–
TEXTO VARCHAR2(50) YSQL>
SQL> insert into mbc values(‘áàãâç’);1 row inserted
SQL> commit;Commit complete
SQL> select * from mbc;TEXTO
————————————————–
áàãâç===========================================================================
Servidor Windows 2008R2SQL> select * from mbc;
TEXTO
————————————————–
ßÓÒÔþSQL>
Se eu inserir a mesma linha (‘áàãâç’); no Windows2008 fica o inverso para ele fica certo mas para os outros clients apresentam dados “errados”.
Alguém já passou por um problema parecido?
5 de maio de 2014 às 7:11 pm #106586rmanParticipante@marlontk
Basta configurar o NLS_LANG adequadamente no client.
Segue um artigo:
http://www.oracle.com/technetwork/products/globalization/nls-lang-099431.html
5 de maio de 2014 às 8:36 pm #106590Fábio PradoParticipante5 de maio de 2014 às 10:02 pm #106591marlontkParticipanteOpa,
Tenho o registro contendo
NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.WE8MSWIN1252Eu estava testando pelo sqlplus.exe do Dos e nele não funciona, mas em aplicativos como o PL/Sql funcionar perfeitamente.
Não havia feito testes com ferramenta gráfica apenas no Sqlplus.exe(dos) que a mesmo com a alteração não funcionou.
Estranho o sqlplus não reconhecer o registro e nem a variável de ambiente.
5 de maio de 2014 às 10:53 pm #106592rmanParticipante@marlontk
O problema não esta nem no registro e nem na variável de ambiente. É necessário alterar a fonte do cmd.exe e a codificação.
Segue artigo:
http://eduardolegatti.blogspot.com.br/2011/01/habilitando-o-suporte-acentuacao-no.html
6 de maio de 2014 às 12:05 am #106594marlontkParticipanteDesta maneira funcionou pelo CMD(DOS).
Mas ai vem a questão…
Porque tenho que fazer essa alteração nestes windows(2003/2008) e não no 7/XP?
Se eu rodar uma aplicação terei que fazer alguma alteração para que a mesma reconheça esses caracteres especiais quando isso ocorrer?
6 de maio de 2014 às 3:57 pm #106596rmanParticipante@marlontk
Em relação ao cmd.exe, creio que qualquer versão é necessário fazer a configuração. Até mesmo no 7.
Se sua aplicação utiliza o client do Oracle basta configurar a variável NLS_LANG corretamente. O caso do cmd.exe é um caso a parte.
-
AutorPosts
- Você deve fazer login para responder a este tópico.