Tampaknya pengkodean berbeda dari server ke klien. Anda dapat memverifikasi ini dengan mengeluarkan perintah ini:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL otomatis mengonversi ke pengkodean klien. Mungkin keduanya berbeda di lingkungan Anda. Anda dapat mengonfigurasi client_encoding
dengan banyak cara:
- Menggunakan
SET
perintah saat membuka koneksi di aplikasi Anda:SET client_encoding = 'UTF-8';
- Menggunakan
set_config
berfungsi saat membuka koneksi di aplikasi Anda:SELECT set_config('client_encoding', 'UTF-8', true);
- Konfigurasikan
PGCLIENTENCODING
var lingkungan di OS Anda:export PGCLIENTENCODING=UTF8
- Edit
client_encoding
dalam file konfigurasi postgres - Gunakan
ALTER SYSTEM
(Anda harus me-refresh konfigurasi setelah itu denganSELECT pg_reload_conf();
):ALTER SYSTEM SET client_encoding = 'UTF-8';
Pembaruan: Sayangnya tidak memungkinkan untuk mengaktifkan konversi otomatis dari SQL_ASCII.
Kutipan dari Dokumentasi Postgres .