L'encodage de votre serveur semble être UTF8.
Je suspecte votre client_encoding
ne correspond pas, ce qui pourrait vous donner une fausse impression de ce à quoi vous avez affaire. Vérifiez avec :
SHOW client_encoding; -- in your actual session
Et lisez ces réponses associées :
Impossible d'insérer des caractères allemands dans Postgres
Remplacer les caractères unicode dans PostgreSQL
Le reste de la chaîne d'outils doit également être synchronisé. Lors de l'utilisation de puTTY, par exemple, il faut s'assurer que le terminal est d'accord avec le reste :Change settings... Window -> Translation -> Remote character set
=UTF-8
.
Quant à votre première question, vous avez déjà la meilleure solution. Quelques trémas sont mieux remplacés par une chaîne de replace()
déclarations.
Comme vous semblez déjà le savoir également, les remplacements de caractères uniques sont plus efficaces avec (un seul) translate()
déclaration.
Connexe :
- Remplacer les caractères Unicode dans PostgreSQL
- Regex supprime toutes les occurrences de plusieurs caractères dans une chaîne