[Oracle 10g] Pbs de format fichiers UTF8
Bonjour à tous,
J'ai un souci avec les formats de fichier.
J'ai en base les nls param. suivants :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE |
Dans le client j'ai
Code:
AMERICAN_AMERICA.AL32UTF8
Auparavant nous faisions fonctionner l'appli sous windows :
- procédure stockée qui lit la 1ère ligne du fichier
- sqlloader qui charge le fichier.
Le fichier est au format utf8 (c-a-d que quand on l'ouvre ou le sauvegarde sous notepad il est au format utf8) .
Ca fonctionne !!!!
Nous avons placé ce fichier sur un répertoire Unix et à présent ça ne fonctionne plus :
- la procédure stockée n'arrive plus à lire correctement le fichier (il n'y a pas de plantage mais les traitements de chaînes de car. ne sont pas corrects) , le fichier est ouvert par :
Code:
1 2 3 4 5
| fic UTL_FILE.FILE_TYPE;
codRet varchar2(2) := 'OK';
begin
fic := UTL_FILE.FOPEN('INDIR', pNomFichier, 'r'); |
et est lu ainsi :
Code:
UTL_FILE.GET_LINE(fic, tampon, 256);
Y a-t-il un moyen (mode d'ouverture) de préciser à l'ouverture (fopen) que le fichier est au format utf8 ?
Sinon voyez-vous un moyen pour que les traitements s'effectuent correctement ?
(le sqlloader fonctionne correctement uniquement avec des fichiers au format utf8).
Merci d'avance.
Cordialement.