windows的r語言經常會遇到各種各樣的中文亂碼問題,從資料庫讀取資料時,直接讀取csv資料時,進行文字分析莫名奇怪得不到想要的結果時。
從資料庫中讀取
當你已經把資料庫的編碼設定為utf-8或者其他中文編碼格式時,r語言中文讀取出現亂碼,有幾個解決的方法。一是現對資料庫和r進行設定在讀取,以rodbc,rmysql讀取資料庫為例。 二 讀取後對編碼 編碼進行設定 ,以例項說明。
從本地讀取資料
r語言字串處理需注意問題
r語言字串處理時,一般會難以注意的乙個問題。問題來自中文的編碼,在r裡既可以正常顯示,資料格式又一樣。以下面為例:
###設定生成a,b,c,並將a,c用enc2utf8變成utf-8格式
##檢視a,b,c
a;b;c
[1] "企業"
[1] "企業"
[1] "中國最大的一家企業"
"企業家應該注意的幾件事"
"哈哈哈"
##檢視a,b是否存在於c中
agrep(a, c, usebytes=t)
[1] 1
2agrep(b, c, usebytes=t)
integer(0)
##其中可以看到a,b的都是字串"企業",但是其結果是不一樣的
str(a);str(b) ##檢視結構
chr "企業"
chr "企業"
##這是可以考慮一下,是不是其編碼存在問題
encoding(a);encoding(b);encoding(c)
[1] "utf-8"
[1] "unknown"
[1] "utf-8"
"utf-8"
"utf-8"
##從結果中可以看到a,b的資料結構顯示都是一樣的。
##但是其中文編碼不同,說明不注意編碼問題雖然可能不報錯,但是可能結果並不是自己想要的
Centos中文語言亂碼解決方法
1 檢視自己系統有沒有安裝中文語言包,可使用locale a命令列出所有可用的語言環境 看裡面是否有下面四項 如果有,則不用安裝,如果沒有,需要重新安裝,使用yum install kde l10n chinese 2 修改i18n和locale.conf的配置檔案 第一,vim etc sysco...
linux中文亂碼解決方法
在使用centos 系統時,安裝的時候可能你會遇到英文的centos系統,在這中情況下安裝centos系統時是預設安裝 即英文 安裝完畢後,出現的各種中文亂碼。那麼,我們如何解決這種問題呢。一 centos系統訪問 g.cn 發現中文亂碼。於是用以前的方式 yum y install fonts c...
Android中文亂碼解決方法
android中文亂碼解決方法 在手機與pc之間進行socket或http通訊時,常常會出現中文亂碼問題,其主要原因在於手機端字元編碼預設為utf 8,而伺服器pc端預設為gbk或gb2312。手機到pc的資訊編碼傳遞 接收 解碼顯示的過程為 手機端以utf 8編碼資訊 包括漢字 寫入socket輸...