PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 30/08/2013 12:21:33

magali
Membre

Import d'un fichier CSV - problème de caractères spéciaux

Bonjour,

Je suis novice et connais peu PgAdmin. Dans le cadre de mon stage, j'essaie de créer une base de données.
J'ai créé la structure de ma base dans PgAdmin III, avec l'assistant (ajouter une table, ajouter une clé étrangère etc).

Pour remplir cette base de donnée, toutes les informations dont je dispose sont stockées dans un fichier Excel.
Après requêtes pour sélectionner les informations dont j'ai besoin, j'ai créé un fichier CSV correspondant à chacune de mes tables.

Dans PgAdmin, en passant par Importer/csv j'ai réussi à remplir certaines de mes tables, sans soucis.
Cependant je m'attaque actuellement à une table qui contient des caractères spéciaux et qui pose problème. Je m'explique :

Cette table ("deliberation") contient 5 champs :
- delib_numero (clé primaire)
- delib_dateCA
- delib_anneeCA
- delib_http
- delib_td_ID (clé étrangère)

Le champ delib_http contient le chemin vers le document de délibération, se trouvant sur le réseau de l'entreprise dans laquelle je suis. Il ne s'agit pas d'un lien internet, mais bien d'un chemin du type "T:\répertoire\dossier\sous-dossier\CA 19-01-10 (10-001 à 10-014)\G - Subventions".
J'ai constitué mon fichier CSV avec toutes les informations, mais comme vous pourrez le constater ces chemins contiennent des caractères spéciaux. Et pour l'import de mon CSV pour remplir ma table "deliberation", ça ne passe pas (Message d'erreur : ERREUR séquence d'octets invalide pour l'encodage "UTF8" : 0xe9 0x76 0x72 CONTEXT: COPY deliberation, ligne2"). J'ai bien compris que dès la ligne 2, ces caractères spéciaux posent problème.

Ma base de données est en UTF-8, lorsque j'importe le CSV je spécifie en UTF-8, et lorsque j'enregistre mon doc Excel en CSV, je spécifie aussi le type de fichier en UTF-8 (via les options d'enregistrement > Enregistrer sous / Outils / Option Web / Codage / Type de fichier : UTF-8).

Je ne peux bien évidemment pas remplacer les caractères spéciaux par des caractères sans accents etc puisque le chemin d'accès au fichier de délibération serait alors modifié.

Je cherche donc un moyen de forcer l'import, et de conserver ces caractères spéciaux. En vain.

Auriez-vous une idée, une solution à me proposer ?

Merci du temps que vous pourrez m'accorder.

Bonne journée.

Hors ligne

#2 30/08/2013 20:04:47

gleu
Administrateur

Re : Import d'un fichier CSV - problème de caractères spéciaux

Normalement, les antislash ne devraient pas poser problème dans un COPY. Êtes-vous sûr qu'il s'agit des \ ? il n'y aurait pas un accent ou un caractère étrange dans le fichier ?


Guillaume.

Hors ligne

#3 02/09/2013 09:58:40

magali
Membre

Re : Import d'un fichier CSV - problème de caractères spéciaux

Si justement. Dans mes liens il y a des "à", des "-" ou bien des "°". Ce sont ces caractères qui posent problème, mais je ne peux pas les modifier sinon les chemins se trouvent changés. La solution serait de modifier toute l'arborescence en supprimant des chemins tout caractères spéciaux, mais en tant que stagiaire il n'est pas de mon ressort de modifier toute l'organisation du réseau de l'entreprise.

C'est pour cela que j'aimerai trouver un moyen pour "forcer" l'importation, autrement dit que postgre accepte ces caractères spéciaux dans ma table.

Hors ligne

Pied de page des forums