UTL_FILE et le jeu de caractères

J'ai travaillé sur cette chose pendant des jours et il me rend fou.
J'ai un oracle de la procédure que l'écriture d'un fichier à l'aide de UTL_FILE.
J'ai utilisé pour stocker mes valeurs en tant que NVARCHAR2 et écrire mon fichier à l'aide de UTL_FILE.PUT_LINE_NCHAR procédure, et il a écrit de fichier (ce que notepad++ considérer comme) UTF8.
Le fichier est ensuite utilisé par un autre programme, le problème, c'est que ledit programme de lecture à l'aide de WE8MSWIN1252, et je ne peux pas changer les choses, puisque c'est le code de legs.
J'ai donc essayé d'utiliser UTL_FILE.PUT_LINE procédure à la place, mais le fichier était encore considéré comme de l'utf-8.
J'ai vu dans d'oracle documentation NVARCHAR2 utilisé le jeu de caractères nationaux (le mien est al16utf16, respectivement), alors j'ai essayé d'utiliser le CONVERT méthode comme ceci:

CONVERT(whatIWantToWrite, 'WE8MSWIN1252', 'AL16UTF16'))

et il a soulevé la ORA-29298 jeu de Caractères Exception d'incompatibilité.
Je ne comprends pas, mon NLS_NCHAR_CHARACTERSET est al16utf16, respectivement pourquoi je ne peux pas le convertir en WE8MSWIN1252 ?
Est-il une autre façon d'écrire un fichier à l'aide de WE8MSWIN1252 ?

Lorsque vous avez changé d' put_line_nchar à put_line, avez-vous aussi changer de fopen_nchar à open? Est whatIWantToWrite votre nvarchar2 colonne ou un PL/SQL variable, et si le dernier de ce type de données est-il?
Vous l'aurez deviné. J'ai oublié de remplacer fopen_nchar avec fopen. Ne peux pas croire que j'ai passé autant de temps sur ce. De toute façon, je vous Remercie beaucoup.

OriginalL'auteur DeadlyJesus | 2014-02-26