linux改編碼
⑴ linux中文文件顯示亂碼怎麼解決
Linux文件名、文件內容亂碼,主要原因是windows上的中文編碼默認是GBK,而Linux默認中文編碼為UTF-8,由於編碼不一致,所以導致亂碼問題。
為了解決這個亂碼,需要對文件進行轉碼,具體如下:
1、前提保證已安裝了convmv;
2、具體convmv的用法:
Convmv
–f
源編碼
–t
新編碼
[選項]
文件名
一般常用參數:
-r
遞歸處理子目錄
--notest
真正進行操作,默認情況下是不對文件進行真實操作的,只是一個預覽
--list
顯示所有支持的編碼
--unescap
可以做一個轉義
3、比如我們有一個utf8的文件名,要求轉換成gbk編碼,命令如下:
Convmv
–f
utf-8
–t
gbk
–notest
文件名
也可以使用linux下最好用的編碼轉換工具iconv來進行轉碼操作。
例子:將GBK編碼的文件轉換成UTF-8
iconv
-f
GBK
-t
UTF-8
gbkfile.txt
>
utf8file.txt
⑵ 如何在 Linux 中將文件編碼轉換為 UTF-8
1、iconv命令來轉換文件的編碼,格式:
iconv -f 原本的編碼格式 -t 要轉換成的編碼 文件名 -o 新文件名
2、例如:
iconv -f gb2312 -t utf8 a.txt -o utf8.txt
3、vim 文件名.txt
:set fileencoding
:set fenc
查看現在文本的編碼
:set fenc=編碼
轉換當前文本的編碼為指定的編碼
:set encoding=編碼
:set enc=編碼
以指定的編碼顯示文本,但不保存到文件中。
輸入 :e ++enc=gbk 強制用gbk打開
輸入 :w ++enc=utf8 轉換到utf8保存。
4、可以使用 file 命令,並添加 -i 或 --mime 參數來查看一個文件的字元編碼
file -i a.txt
⑶ 如何將 csv 文件的格式在 Linux 批量轉換成 utf-8 的編碼格式
csv文件本質上還是屬於文本文件,在Linux中轉換文本文件的編碼可以使用iconv命令,iconv命令很簡單,記住它的三個參數就可以了,下面是它的三個參數:
-f參數:表示from,就是原本的編碼格式
-t參數:表示to,就是後來的新編碼
-o參數:表示輸出文件,就是轉換編碼後的新文件的文件名,如果沒有這個參數新文件會將原來的文件覆蓋掉。
下面是將GB2312編碼的文本文件轉換成UTF-8編碼的例子:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
這個例子中mygb2412.txt就是要轉換的文件,myutf8.txt就是轉換後的新文件。如果是批量轉換,可以寫一個簡單的shell腳本,非常容易就能實現的。
⑷ linux中文文件名亂碼怎麼解決
Linux文件名、文件內容亂碼,主要原因是windows上的中文編碼默認是GBK,而Linux默認中文編碼為UTF-8,由於編碼不一致,所以導致亂碼問題。
為了解決這個亂碼,需要對文件進行轉碼,具體如下:
1、前提保證已安裝了convmv;
2、具體convmv的用法:
Convmv –f 源編碼 –t 新編碼 [選項] 文件名
一般常用參數:
-r 遞歸處理子目錄
--notest 真正進行操作,默認情況下是不對文件進行真實操作的,只是一個預覽
--list 顯示所有支持的編碼
--unescap 可以做一個轉義
3、比如我們有一個utf8的文件名,要求轉換成gbk編碼,命令如下:
Convmv –f utf-8 –t gbk –notest 文件名
也可以使用linux下最好用的編碼轉換工具iconv來進行轉碼操作。
例子:將GBK編碼的文件轉換成UTF-8
iconv -f GBK -t UTF-8 gbkfile.txt > utf8file.txt
⑸ linux文件編碼轉換及Windows上創建的文件轉為Linux格式
在Linux上查看文件,有時候會出現中文亂碼的問題。這是因為文件編碼不兼容導致的,需要進行文件轉碼。
1、用VI查看文件編碼,在Vi命令模式以下命令,即可顯示文件編碼格式。
2、 改寫~/.vimrc 文件,在文件中添加以下內容,就可以讓vi自動識別UTF-8或者GBK編碼的文件。
將window上創建的腳本傳輸到linux執行時,會出現-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的錯誤。
1、vi打開文件,並在命令模式下輸入以下命令回車,此時看到的是dos格式。
2、修改文件格式, 同樣在vi命令格式下,輸入以下修改文件格式。