|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
Bonjour,
je ne suis pas développeur, juste cartographe, mais j'ai vu sur le forum qu'on pouvait changer l'encodage du client postgres. je l'ai installé en choisissant comme encodage pour mon serveur local (localhost) WIN1252 et quand j'essaye de faire un 'insert from csv' : Code :
ERROR: invalid byte sequence for encoding "UTF8": 0xe97461 État SQL :22021 Astuce : This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". Contexte : COPY convention, line 2 je suppose que ça vient de l'encodage de mon serveur car j'ai fait : et ma requête ne fonctionne toujours pas, c'est le même message d'erreur. est-ce qu'on peut changer l'encodage du serveur après coup ou est-ce définitif après l'installation ? est-ce que quelqu'un connait ça? |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Il faut juste indiquer côté client un jeu de caractères adéquat pour lire les caractères francophones
Essaie
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
Bonjour SCHEU,
merci, ça marche, j'avais vu ça sur un autre forum (c'était toi qui répondait d'ailleurs), mais je ne l'ai pas testé car je pensais qu'utf-8 prenait en compte tous les caractères? alors pourquoi mettre utf8, si je dois ensuite mettre en latin9 ? penses-tu que si lors de l'installation de postgres, je met utf-8 coté client et utf-8 coté serveur, le problème ne se pose pas ??? merci quand même et à bientôt. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
Bonjour,
j'ai essayé de fermer et réouvrir pgadmin et j'ai fait il me sort "unicode", ce qui veut dire que j'ai toujours de l'utf-8 par défaut dans ma base. il faudra donc qu'à chaque "insert from csv" je mette "SET client_encoding to 'latin9'", ce qui je crois correspond à un "réencodage" à la volée ? ça ne me gène pas trop, mais pour des utilisateurs encore moins avertis que moi, ne vaut-il mieux pas que tout soit en utf-8 ou en latin9 mais en dure ? peut-on changer l'encodage de façon durable ?? merci encore. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Je crois que la base peut être créée en LATIN9, tu peux tester (à vérifier)
Code :
CREATE DATABASE ... ENCODING = 'LATIN9'; Sinon tu peux peut-être éviter de remettre la commande à chaque connexion ou script en modifiant le paramètre client_encoding à 'LATIN9' dans le fichier postgresql.conf de ton répertoire d'installation, puis de recharger la conf (pg_ctl reload) ou de redémarrer le cluster de base de donnée. --> A tester également je ne suis pas sûr de mon coup là
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
Bonjour Scheu.
merci pour toutes ces infos, je n'ai pas encore tout essayé, mais je le ferais sans doute en fin de semaine. je n'ai pas trop le temps en ce moment. j'ai quand même regardé dans le fichier postgresql.conf, à ma grande surprise, il y avait écris "sql_ascii" alors que je pensais bien avoir mis "utf-8". de plus, quand je faisait "show client_encoding;" il me disait 'unicode'. j'ai quand même remplacé "sql_ascii" par "utf-8" et j'ai recharger la conf. j'ai relancé pgadmin et j'ai fait "show client_encoding;" il me dit toujours 'unicode'. cependant je n'ai pas essayé d'intégrer mes données csv après ça. je pense que je te répondrais la semaine prochaine après avoir créé une nouvelle base en latin9. merci encore et à bientôt. cordialement, |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
Bonsoir,
Comme promis une réponse mais un peu tard. j'ai mis 'LATIN9' dans le ficher postgresql.conf et j'ai rechargé la configuration mais rien ne change. par contre je ne sais pas redémarrer le cluster de données quoi qu'il en soit, j'ai essayé de créer une nouvelle base de données en LATIN9 dans PGAdmin, mais il y a le message d'erreur suivant qui apparait. ![]() c'est au moment de l'install, lorsque l'on choisis l'encodage du serveur : ![]() peut-on changer cela après avoir fini l'installation de postgres ??? et si je mete UTF-8 à la place win1252 est-ce que cela règlera le problème ? peut-être suis-je optimiste. merci quand même et à bientôt. cordialement, nicolas |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
C'est peut-être le serveur qui n'accepte pas ce jeu de caractères, mais là j'en sais rien
Une solution simple consiste à créer la base en UTF8 et à mettre le paramètre client_encoding à LATIN9, comme ça plus besoin de remettre "set client_encoding to 'LATIN9' dans chaque script
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2008 Messages : 68 ![]() |
ok,
je vais faire comme ça, c'est une bonne solution pour moi. je vous tiens au courant si je trouve une solution. merci encore. cordialement, nicolas. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com