PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

RPostgreSQL के साथ UTF-8 / यूनिकोड टेक्स्ट एन्कोडिंग

जैसा कि क्रेग रिंगर ने कहा, client_encoding सेट करना to windows-1252 शायद सबसे अच्छी बात नहीं है। वास्तव में, यदि आप जो डेटा प्राप्त कर रहे हैं उसमें एक ही विदेशी वर्ण है, तो आप मुश्किल में हैं:

दूसरी ओर, यूनिकोड का उपयोग करने के लिए आपके R वातावरण को प्राप्त करना असंभव हो सकता है (मुझे आपकी जैसी ही समस्या है Sys.setlocale ... इसी में यह प्रश्न भी।)।

इस तरह के फ़ंक्शन का उपयोग करके, अपने सभी डेटा पर मैन्युअल रूप से UTF-8 एन्कोडिंग घोषित करना एक समाधान है:

set_utf8 <- function(x) {
  # Declare UTF-8 encoding on all character columns:
  chr <- sapply(x, is.character)
  x[, chr] <- lapply(x[, chr, drop = FALSE], `Encoding<-`, "UTF-8")
  # Same on column names:
  Encoding(names(x)) <- "UTF-8"
  x
}

और आपको अपने सभी प्रश्नों में इस फ़ंक्शन का उपयोग करना होगा:

set_utf8(dbGetQuery(con, "SELECT myvar FROM mytable"))

संपादित करें: एक अन्य संभावना RPostgres का उपयोग करना है RPostgreSQL के बजाय। मैंने इसका परीक्षण किया (आपके प्रश्न के समान कॉन्फ़िगरेशन के साथ), और जहां तक ​​​​मैं देख सकता हूं कि सभी घोषित एन्कोडिंग स्वचालित रूप से यूटीएफ -8 पर सेट हो जाती हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑपरेशनल एरर:कर्सर _django_curs_<id> मौजूद नहीं है

  2. कैसे Npgsql और संग्रहीत कार्यविधियों से कस्टम तालिका प्रकार वापस करने के लिए?

  3. AWS पोस्टग्रेज RDS तालिका को AWS S3 में निर्यात करना

  4. वसीयत व्यवस्थापक भूमिका:PG::त्रुटि:त्रुटि:संबंध व्यवस्थापक पहले से मौजूद हैं

  5. सीएसवी डेटा को रेल ऐप में आयात करना, किसी अन्य चीज़ का उपयोग करके एसोसिएशन आईडी