मेरा सिस्टम: win7 परम 64 अंग्रेजी संस्करण + आर-3.1 (64)।
मेरा सत्र इन्फ्लो यहाँ है।
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
LC_MONETARY=English_United States.1252 LC_NUMERIC=C
LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
1. आर कंसोल में चीनी चरित्र इनपुट नहीं कर सकते हैं
जब मैं आर कंसोल में एक चीनी चरित्र इनपुट करता हूं, तो यह खराब चरित्र में बदल जाता है।
2. आर कंसोल पर चीनी चरित्र प्रदर्शित नहीं कर सकते हैं
जब मैं आर कंसोल में डेटा पढ़ता हूं, तो चीनी चरित्र एक खराब चरित्र में बदल जाता है।
आप डेटा डाउनलोड कर सकते हैं, और इसका परीक्षण कर सकते हैं
read.table("r1.csv",sep=",")
यदि आप नहीं जानते कि मेरे वेब से डेटा कैसे प्राप्त करें, तो डेटा डाउनलोड करने के लिए ग्राफ़ देखें।
आर कंसोल में चीनी अक्षरों को सही तरीके से प्रदर्शित करने और इनपुट करने के लिए मैं अपने पीसी को कैसे सेटअप कर सकता हूं? मैंने चीनी भाषा पैक को अद्यतन किया है, और इसे सक्षम किया है, लेकिन समस्या अभी भी बनी हुई है।
उत्तर:
उत्तर № 1 के लिए 4यह शायद बहुत अच्छी तरह से प्रलेखित नहीं है, लेकिन आप उपयोग करना चाहते हैं setlocale
चीनी का उपयोग करने के लिए। और यह विधि कई अन्य भाषाओं पर भी लागू होती है। समाधान आधिकारिक दस्तावेज के रूप में स्पष्ट नहीं है setlocale
प्रदर्शन मुद्दों को हल करने के लिए विशेष रूप से इसे एक विधि के रूप में नहीं बताया है।
> print("ÊÔÊÔ") #试试, meaning let"s give it a shot in Chinese
[1] "ÊÔÊÔ" #won"t show up correctly
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
> Sys.setlocale(category = "LC_ALL", locale = "chs") #cht for traditional Chinese, etc.
[1] "LC_COLLATE=Chinese_People"s Republic of China.936;LC_CTYPE=Chinese_People"s Republic of China.936;LC_MONETARY=Chinese_People"s Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese_People"s Republic of China.936"
> print("试试")
[1] "试试"
> read.table("c:/CHS.txt",sep=" ") #Chinese: the 1st record/observation
V1 V2 V3 V4 V5 V6
1 122 第一 122 条 122 记录
यदि आप स्थानीय लोगों के अन्य पहलुओं को बदलने के बिना, प्रदर्शन एन्कोडिंग को बदलना चाहते हैं, तो उपयोग करें LC_CTYPE
के बजाय LC_ALL
:
> Sys.setlocale(category = "LC_CTYPE", locale = "chs")
[1] "Chinese_People"s Republic of China.936"
> print("试试")
[1] "试试"
अब, निश्चित रूप से यह केवल आधिकारिक पर लागू होता है R
कंसोल। यदि आप अन्य आईडीई का उपयोग करते हैं, जैसे कि बहुत लोकप्रिय RStudio
, आपको चीनी टाइप करने और प्रदर्शित करने में सक्षम होने के लिए ऐसा करने की ज़रूरत नहीं है, भले ही आपके पास चीनी लोकेल लोड न हो।
यदि डेटा अभी भी सही तरीके से प्रदर्शित करने में विफल रहता है, तो हमें फ़ाइल एन्कोडिंग के मुद्दे को भी देखना चाहिए। अगर फाइल है utf-8
एन्कोडेड, टेट data <- read.table("you_file", sep=",", fileEncoding="utf-8-BOM", header=TRUE)
या fileEncoding="utf-8"
करेंगे, इस पर निर्भर करता है कि वास्तव में कौन सी एन्कोडिंग है।
लेकिन आप से दूर रहना चाह सकते हैं UTF-BOM
क्योंकि इसकी अनुशंसा नहीं की जाती है: बीओएम के बिना utf-8 और utf-8 के बीच क्या अंतर है?