LINUX下檔案字符集編碼轉換

2021-05-28 07:41:55 字數 1566 閱讀 4388

file ip.txt

檢視檔案編碼file命令

file ip.txt

ip.txt: utf-8 unicode text, with escape sequences

一、利用iconv命令進行編碼轉換檔案內容編碼轉換

iconv命令用於轉換指定檔案的編碼,預設輸出到標準輸出裝置,亦可指定輸出檔案。

用法: iconv [選項...] [檔案...]

有如下選項可用:

輸入/輸出格式規範:

-f, --from-code=名稱 原始文字編碼

-t, --to-code=名稱 輸出編碼

資訊:-l, --list 列舉所有已知的字符集

輸出控制:

-c 從輸出中忽略無效的字元

-o, --output=file 輸出檔案

-s, --silent 關閉警告

--verbose 列印進度資訊

-?, --help 給出該系統求助列表

--usage 給出簡要的用法資訊

-v, --version 列印程式版本號

例子:iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt

這個命令讀取aaa.txt檔案,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt檔案。

二、檔名編碼轉換

因為現在用linux,原來在windows裡的檔案都是用gbk編碼的。所以copy到linux下是亂碼,檔案內容可以用iconv來轉換可是好多中文的檔名還是亂碼,找到個可以轉換檔名編碼的命令,就是convmv。

convmv命令詳細引數

例如convmv -f gbk -t utf-8 *.***

不過這個命令不會直正的轉換,你可以看到轉換前後的對比。如果要直正的轉換要加上引數 --notest

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

-f 引數是指出轉換前的編碼,-t 是轉換後的編碼。這個千萬不要弄錯了。不然可能還是亂碼哦。還有乙個引數很有用。就是 -r 這個表示遞迴轉換當前目錄下的所有子目錄。

三、更好的傻瓜型命令列工具enca,它不但能智慧型的識別檔案的編碼,而且還支援成批轉換。

1.安裝

$sudo apt-get install enca

2.檢視當前檔案編碼

enca -l zh_cn ip.txt

simplified chinese national standard; gb2312

surrounded by/intermixed with non-text data

3.轉換

命令格式如下

$enca -l 當前語言 -x 目標編碼 檔名

例如要把當前目錄下的所有檔案都轉成utf-8

enca -l zh_cn -x utf-8 *

enca -l zh_cn file 檢查檔案的編碼

enca -l zh_cn -x utf-8 file 將檔案編碼轉換為"utf-8"編碼

enca -l zh_cn -x utf-8 < file1 > file2 如果不想覆蓋原檔案可以這樣,很簡單吧。

LINUX下檔案字符集編碼轉換

檢查檔案編碼file命令 file ip.txt 檢查檔案編碼file命令 file ip.txt ip.txt utf 8 unicode text,with escape sequences 一 運用iconv命令執行編碼轉換檔案內容編碼轉換 iconv命令用於轉換指定檔案的編碼,默許輸出到規範...

LINUX下檔案字符集編碼檢視與編碼轉換

檢查檔案編碼file命令 file ip.txt 加上 i選項可強制顯示字符集 ip.txt utf 8 unicode text,with escape sequences 一 運用iconv命令執行編碼轉換檔案內容編碼轉換 iconv命令用於轉換指定檔案的編碼,默許輸出到規範輸出裝備,亦可指定輸...

字符集編碼的轉換

在程式設計的時候,往往需要字符集間編碼的轉換,這就需要用到乙個函式,它就是iconv函式。iconv不是php的預設函式,需要先安裝後才能用。如果是在windows環境下,可以修改php.ini檔案,將extension php iconv.dll前的 去掉。關於如何使用,這裡可以舉個例子。如下 i...