|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() ![]() |
Bonjour,
J'ai une table qui devrait recevoir des enregistrements avec différentes langues que l'anglais et j'ai toujours des problémes de charset à chaque fois que je fais une insertion (voir un select aussi) : Langue francaise : toujours des problémes d'accent Langue arabe et chinoise : ahh ca c'est le ***** comment configurer postgresql pour que ca fonctionne avec ces langues , |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : janvier 2005 Messages : 336 ![]() |
il faut que ta base soit en unicode, c'est la seule façon de gérér une multitude de langue
KrysKool |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Mathias GaunardIngénieur développement logiciels Inscription : décembre 2003 Messages : 3 543 ![]() |
Il faut spécifier le charset de la connexion à l'aide de SET NAMES.
Pour l'arabe par exemple ou ou selon le charset choisi. (Je conseille UNICODE (utf-8)). Bien entendu, il faut mieux que la base soit aussi déclarée dans cet encodage. Si ce n'est pas le cas, pgsql effectuera une conversion. Plus d'info sur la doc. |
|
|
00
|
|
|
#4 | |||
|
Membre du Club
![]() ![]() |
J'ai trouvé une solution qui est peut être la meilleur (?)
je vous expose l'etat de ma base : Citation:
alors j'ai entouré le dump par ces deux lignes : Code :
ce qui est l'encodage pour l'arabe et j'ai eu mes accents dans ma table et evidemen si y'a eu des entrées en arabe ca passera, en résumé j'ai vu que WIN1256 est l'encodage qui va accepter les caractéres accentués, arabe et (peut etre) chinois... corrigez moi si je me trompe |
|||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Mathias GaunardIngénieur développement logiciels Inscription : décembre 2003 Messages : 3 543 ![]() |
Citation:
Tu peux écrire en arabe dans plusieurs encodages, que j'ai d'ailleurs précisés (ISO_8859_6, WIN1256 et UNICODE - y'en a d'autres, mais ce sont les seuls supportés par postgresql) Un charset définit une correspondance entre des nombres et des caractères, le tout codé généralement sur 8 bits (à part unicode et les trucs asiatiques qui sont sur plusieurs octets), car les données informatiques ne sont en fait que des nombres. Citation:
Le seul encodage qui accepte tout (français, arabe, chinois) est unicode. Il faut donc que tu normalises tes données d'entrée, afin qu'elles soient toutes encodées de la même façon. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com