ऐसा लगता है कि एन्कोडिंग सर्वर से क्लाइंट के लिए अलग है। आप इन आदेशों को जारी करते हुए इसे सत्यापित कर सकते हैं:
SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
PostgreSQL स्वचालित रूप से क्लाइंट एन्कोडिंग में कनवर्ट करता है। शायद आपके परिवेश में दोनों अलग हैं। आप client_encoding
को कॉन्फ़िगर कर सकते हैं कई तरह से:
SET
का उपयोग करना कमांड जब आप ऐप में कनेक्शन खोलें:SET client_encoding = 'UTF-8';
set_config
का उपयोग करना आपके ऐप में खुला कनेक्शन होने पर कार्य करें:SELECT set_config('client_encoding', 'UTF-8', true);
- कॉन्फ़िगर करें
PGCLIENTENCODING
आपके ओएस में पर्यावरण संस्करण:export PGCLIENTENCODING=UTF8
- संपादित करें
client_encoding
पोस्टग्रेज कॉन्फिग फाइल में ALTER SYSTEM
का उपयोग करें (इसके बाद आपकोSELECT pg_reload_conf();
. के साथ कॉन्फिगर को रिफ्रेश करना होगा ):ALTER SYSTEM SET client_encoding = 'UTF-8';
अपडेट करें: दुर्भाग्य से SQL_ASCII से स्वचालित रूपांतरण सक्षम करना संभव नहीं है।
डॉक्यूमेंटेशन पोस्ट करें से कोट ।