2011-08-24 12 views
5

Sto tentando di ottenere Oracle sqlplus (10.2) per lo spooling dei dati Unicode su una macchina Linux. Ho trovato diverse discussioni su questo problema, ma nessuna risposta chiara, oltre a controllare le impostazioni locali e impostare NLS_LANG su AL32UTF8. Tutte le informazioni locali sono impostate su "en_US.UTF-8", pubblicherò l'output completo su richiesta.Ottenere SQLPlus per lo spooling di caratteri Unicode, vengono visualizzati come?

Il sistema operativo (vi, ecc.) Riconosce e accetta i caratteri Unicode senza problemi. Tuttavia, quando si utilizza sqlplus, tutti i caratteri non ASCII vengono modificati in? personaggi. Il DB Oracle ha NLS_CHARACTERSET impostato su AL32UTF8 e NLS_NCHAR_CHARACTERSET impostato su AL16UTF16.

Mi manca qualche impostazione o interruttore che deve essere impostato per sqlplus stesso? Qualsiasi idea sarebbe molto apprezzata.

risposta

11

Ho trovato la risposta a questo. Apparentemente, l'impostazione di NLS_LANG (l'impostazione corretta è AMERICAS_AMERICA.AL32UTF8) nello script della shell non funziona. Deve essere esportato:

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 
+0

Supposto di essere: esportazione NLS_LANG = AMERICAN_AMERICA.AL32UTF8 –

+0

Grazie! Risolto di conseguenza. –

+1

Sono stato afflitto da questo problema per giorni. Ha funzionato benissimo su Windows sia in script prompt dei comandi sia in shell Cygwin ... ma non su linux stesso. Dopo aver fatto l'esportazione tutto ha funzionato :). Per me funziona anche nella versione non linguistica: export NLS_LANG = .AL32UTF8 –

0

Un altro modo è quello di avere la cosa NLS_LANG all'interno dello script bobina, come una dichiarazione sessione di alter:

alter session set NLS_LANG='AMERICAS_AMERICA.AL32UTF8' 

L'impostazione di questo valore senza export NLS_LANG non lasciare che sqlplus acces questo variabile, solo dopo l'esportazione arriva all'ambiente ed è disponibile per gli altri.

+0

Questo non funziona. NLS_LANG deve essere impostato prima di avviare sqlplus. – jramb

+0

Grazie. Controllerà la configurazione locale e gli script correlati, finora ha funzionato per me. –

Problemi correlati