Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
-
HenriqueMachado
- Rank: Programador Sênior

- Mensagens: 48
- Registrado em: Seg, 29 Mai 2006 1:24 pm
- Localização: Blumenau - SC
Abraços,
Henrique Machado Muller
Pessoal estou com um problemas de caracteres especias do UTL_FILE
Para exempleficar vamos ao codigo
Selecionar tudo
DECLARE
arquivo_ler UTL_FILE.File_Type;
AReg_Linha VARCHAR2(4000);
BEGIN
DBMS_OUTPUT.ENABLE(100000);
DBMS_OUTPUT.PUT_LINE('ok');
arquivo_ler := UTL_FILE.FOPEN_NCHAR('DIR', '001662.TXT', 'r');
UTL_FILE.GET_LINE(arquivo_ler, AReg_Linha);
END;
Obtem o resultado
Código:
Selecionar tudo
0;253610672;200706;ASSOCIA�O DOS FISSURADOS DO VALE DO ITAJA�1;2;3;1;1;1;2;2;3;2;1;5
Mais a linha original do arquivo é
Código:
Selecionar tudo
0;253610672;200706;ASSOCIAÇÃO DOS FISSURADOS DO VALE DO ITAJAÍ;1;2;3;1;1;1;2;2;3;2;1;5
alguém poderia me ajudar? Não sei o que fazer
-
Trevisolli
- Moderador

- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Tenta fazer um teste, com os comandos abaixo?
qualquer coisa, manda ai.
-
dr_gori
- Moderador

- Mensagens: 5018
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
-
Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Acho que o problema é o seguinte:
Você abriu o arquivo no formato UNICODE (UTL_FILE.FOPEN_NCHAR)
E usou o GET_LINE normal!
Tente usar:

-
HenriqueMachado
- Rank: Programador Sênior

- Mensagens: 48
- Registrado em: Seg, 29 Mai 2006 1:24 pm
- Localização: Blumenau - SC
Abraços,
Henrique Machado Muller
Obrigado pelas resposta.
Mas ainda não obtive sucesso.
Tentei mudas o comandos retirando o NCHAR e colocando NCHAR em tudo, o resultado foi o mesmo da primeira mensagen.
Brother,
Tenta fazer um teste, com os comandos abaixo?
Código:
O resultado foi este.
Selecionar tudo
ASCII('�')
----------
50087
1 rows selected
CHR(231)
--------
1 rows selected
-
HenriqueMachado
- Rank: Programador Sênior

- Mensagens: 48
- Registrado em: Seg, 29 Mai 2006 1:24 pm
- Localização: Blumenau - SC
Abraços,
Henrique Machado Muller
Ainda não consegui achar a solução.
alguém sabe o que é?
-
khalilpereira
- Rank: Estagiário Júnior

- Mensagens: 1
- Registrado em: Seg, 13 Abr 2015 3:24 pm
Apesar de ser um tópico antigo vale a pena responde-ló porque o Google tem como primeira ocorrência das palavras-chave desse problema esse tópico.
Consegui achar a solução que deu certo para o meu caso.
Considerando que a variável que recebe a linha do arquivo é
Para converter a linha do arquivo que deve ser
UTF8 para o formato do Banco de Dados que deve ser
WE8MSWIN1252.
Selecionar tudo
AReg_Linha:=utl_raw.cast_to_varchar2(utl_raw.CONVERT(utl_raw.cast_to_raw(AReg_Linha),'BRAZILIAN PORTUGUESE_BRAZIL.WE8MSWIN1252', 'BRAZILIAN PORTUGUESE_BRAZIL.UTF8'));
-
jime.santos
- Rank: Estagiário Júnior

- Mensagens: 2
- Registrado em: Qui, 27 Jul 2017 10:47 am
- Localização: São Paulo, Barueri, São Paulo
-
Contato:
Fica uma Dica para resolver acentuação no PLSQL
PL/SQL Developer Version 12.0.7.1837
https://srcoelho.com.br/2012/08/14/acen ... developer/
Problema: PL/SQL Developer troca qualquer caractere acentuado pelo simbolo ” ? “.
Solução: No windows, crie uma variável de ambiente chamada NLS_LANG, com o valor .WE8ISO8859P1. Conforme figura abaixo.
Abraço

-
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes