PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Ersetzen Sie Zeichen durch Zeichenfolgen mit mehreren Zeichen

Ihre Servercodierung scheint UTF8 zu sein.
Ich vermute Ihre client_encoding nicht übereinstimmt, wodurch Sie möglicherweise einen falschen Eindruck davon bekommen, womit Sie es zu tun haben. Überprüfen Sie mit:

SHOW client_encoding;   -- in your actual session

Und lesen Sie diese zugehörigen Antworten:
Kann keine deutschen Zeichen in Postgres einfügen
Unicode-Zeichen in PostgreSQL ersetzen

Auch der Rest der Toolkette muss synchron sein. Bei der Verwendung von PuTTY muss man zum Beispiel darauf achten, dass das Terminal mit dem Rest übereinstimmt:Change settings... Window -> Translation -> Remote character set =UTF-8 .

Was Ihre erste Frage betrifft, haben Sie bereits die beste Lösung. Ein paar Umlaute werden am besten durch eine Zeichenfolge von replace() ersetzt Aussagen.

Wie Sie bereits zu wissen scheinen, ist das Ersetzen einzelner Zeichen effizienter mit (einem einzigen) translate() Aussage.

Verwandte: