Kódování vašeho serveru se zdá být UTF8.
Mám podezření, že máte client_encoding
neodpovídá, což by mohlo vyvolat mylný dojem o tom, s čím máte co do činění. Zkontrolujte pomocí:
SHOW client_encoding; -- in your actual session
A přečtěte si tyto související odpovědi:
V Postgresu nelze vložit německé znaky
Nahradit znaky unicode v PostgreSQL
Zbytek řetězce nástrojů musí být také synchronizován. Například při použití puTTY se musíte ujistit, že terminál souhlasí se zbytkem:Change settings... Window -> Translation -> Remote character set
=UTF-8
.
Pokud jde o vaši první otázku, už máte nejlepší řešení. Pár přehlásek je nejlepší nahradit řetězcem replace()
prohlášení.
Jak se zdá, již také víte, náhrady jednotlivých znaků jsou efektivnější s (jediným) translate()
prohlášení.
Související: