centos 跟編碼有關的配置和檔案編碼問題

2021-08-21 19:18:01 字數 1138 閱讀 7213

編碼配置

每次遇到中文亂碼的問題,總是有各種情況,常常花很多時間處理,在此做個彙總

/etc/profile中加入下列配置

export lc_all=zh_cn.gbk

export language=zh_cn.gbk

export lang=zh_cn.gbk

檢查/etc/locale.conf檔案(或者可能是/etc/sysconfig/i18n)

檔案編碼檢視

在vim中檢視

:set fileencoding
或者,在~/.vimrc 檔案中新增以下內容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
enca檢視

enca filename
file檢視

filefilename
檔案編碼轉換

在vim中輸入如下

:set fileencoding=utf-8
enconv

enconv -l zh_cn -x utf-8 filename
iconv 轉換

iconv -f utf-8 -t gbk file1 -o file2
檔名編碼轉換

convmv

如果只是檢視

convmv -f gbk -t utf-8 *.***
如果要轉換檔名,輸入

convmv -f gbk -t utf-8 --notest *.***
enca

enca -l 當前語言 -x 目標編碼 檔名
如果不想覆蓋原檔案

enca -l zh_cn -x utf-8 < file1 > file2

FATFS配置長檔名,為何跟編碼轉換有關

要開啟fatfs的長檔名功能,必須新增oemcp與unicode的編碼轉換函式,同時也就要把oemcp與unicode的編碼轉換陣列新增進來,這是為什麼呢?oemcp在936 頁下就是gbk,這個編碼轉換也就是gbk和unicode互轉。fatfs是使用的gbk編碼,檔案的短檔名也是gbk編碼,因此...

跟css背景有關的屬性

印象中css控制背景的就乙個background,但是background是乙個復合屬性 它包括 除了這些,多背景 漸變 遮罩,我也把他們歸到背景裡吧。乙個個看看吧 0 開頭說了,我很長時間都以為背景就是background這乙個單詞的玩意。因為我總是寫成 1 div 下面說其他屬性 1 div 以...

三道跟string有關的題

參考string的函式 題目資訊 這道題我卡在不知道怎麼儲存多個字串,後面學習到了 一般我使用string字串的輸入,都是這樣 include include using namespace std int main 因此,我認為string是不可以寫出 string a i 的形式的。所以,不知道...