IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

problème d'encodage de caractères


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Points : 109
    Points
    109
    Par défaut problème d'encodage de caractères
    bonjour à tous,

    j'essaie d'insérer un texte dans un champ de mon formulaire, ce texte des guillemets et autres caractères voici le message d'erreur de je reçois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Caused by: org.postgresql.util.PSQLException: ERROR: character 0xc292 of encoding "UTF8" has no equivalent in "WIN1252"
    Quelqu'un peut me dire ce que je dois faire
    Merci

  2. #2
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Points : 109
    Points
    109
    Par défaut
    Apparemment le problème viendrait des virgules et apostrophes, comme je dois insérer du texte dans mes champs, si quelqu'un peut me donner une solution.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    0xC2 0x92 en UTF8, ça correspond à ce caractère là:
    http://www.fileformat.info/info/unic...0092/index.htm
    Apparemment tu as un formulaire en UTF8 dont le contenu doit être importé dans une base en win1252.
    Typiquement ce problème d'apostrophe est dû à des copier-coller de fragments de docs Office qui ont une fâcheuse tendance à utiliser des caractères spéciaux pour les guillemets et apostrophes au lieu des caractères de base.
    Voici quelques solutions, il y en a surement d'autres:
    - passer la base en UTF8: c'est le mieux dans l'absolu
    - forcer le formulaire en ISO-8859-1 au lieu d'UTF8
    - remplacer explicitement les caractères problématiques avant l'insertion en base, mais alors il faut en établir la liste par avance

  4. #4
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Points : 109
    Points
    109
    Par défaut
    Tu as vu juste, merci pour ton information par contre je ne sais pas comment forcer le navigateur ou postgresql à accepter ces caractères, j'ai fait le changement au niveau de la page jsp, mais sans succès, bizarrement il essaie toujours de les convertir en utf-8, je ne sais pas si il y a une solution du côté de postgresql.

  5. #5
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Erreur classique

    Tu as sans doute l'erreur parce que tu veux insérer dans ta table des caractères francophones (accents, cédille, ...)

    Pas la peine de remplacer les 'é' par des 'e' avant l'insertion, après tout tu as bien le droit d'insérer des accents

    Avant l'insertion ou le chargement SQL, tu peux contourner celà en ajoutant au préalable la commande suivante dans ta session SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET CLIENT_ENCODING TO 'WIN1252';
    Voir ici, notamment à la fin ou l'article explique comment changer le jeu de caractères côté client
    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/

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Citation Envoyé par kokumbo Voir le message
    Tu as vu juste, merci pour ton information par contre je ne sais pas comment forcer le navigateur ou postgresql à accepter ces caractères, j'ai fait le changement au niveau de la page jsp, mais sans succès, bizarrement il essaie toujours de les convertir en utf-8, je ne sais pas si il y a une solution du côté de postgresql.
    Tu es sûr que dans ton navigateur quand tu regardes l'encodage de la page contenant le formulaire, c'est bien ISO-8859-1 ou équivalent et non UTF-8?
    Il ne s'agit pas forcément d'un tag meta equiv, il est possible que le serveur http force l'utf8.
    Dans firefox par exemple c'est vérifiable dans le menu View->Character Encoding (pas la version française sous la main)

Discussions similaires

  1. problème d'encodage de caractères spéciaux
    Par anti-conformiste dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2006, 09h42
  2. [mssql8sp3] problème d'encodage de caractères
    Par arnolem dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 24/10/2006, 17h31
  3. Réponses: 3
    Dernier message: 24/10/2006, 11h05
  4. Problème d'encodage de caractères
    Par Felmorian dans le forum ASP
    Réponses: 1
    Dernier message: 04/07/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo