㈠ window 文件名稱至linux 亂碼怎麼解決
Linux文件名、文件內容亂碼,主要原因是windows上的中文編碼默認是GBK,而Linux默認中文編碼為UTF-8,由於編碼不一致,所以導致亂碼問題。 為了解決這個亂碼,需要對文件進行轉碼,具體如下: 1、前提保證已安裝了convmv; 2、具體convmv的用法...
㈡ 我同時安裝了linux和Windows操作系統,但是共享文件的時候總是出現亂碼問題
主要是文件格式不兼容,所以會出現亂碼的情況,需要進行文件編碼的轉換,這個很麻煩,建議你試下新支點linux操作系統,他們對桌面環境進行了優化,在共享文件的時候不會出現亂碼的情況,另外還提供了自動登陸和遠程式控制制功能,你可以試下。
㈢ Linux下 ZIP 到 Windows 下文件名亂碼
linux系統默認的字元編碼是
utf-8
windows
是
gbk
編碼,不支持utf8.
所以
linux下
的中文文件名到
windwos下就成了亂碼。
解決辦法,
一個是
用英文文件名。
另一個,把linux系統的文件名轉成gbk編碼的。
不過這種轉換有可能造成信息丟失
㈣ linux與windows 互傳的文件,中文名稱出現亂碼
這是一個非常常見的問題,linux中文亂碼也是linux比較普遍的問題。因為在windows下文件信息的字元集是unicode,但linux下默認的是utf-8,所以會出現亂碼。你把文件傳到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文件在windows系統亂碼
Linux系統下,備份文件到常常會出現中文亂碼,特別是在CLI模式下。一般通過修改/etc/i18n文件,將系統的字元集修改正確即可。但是,有時還是會出現亂碼,在這種情況下,如果你想備份文件就需要用打包的方法了,就有以下幾種方法:
通過工具
這種方法適用於知道備份的字元集
1.1 convmv
convmv -f GBK -t utf-8 --notest filename
把gbk的編碼轉成utf-8
1.2 enca
enca -L zh_CN -x UTF-8 filename
將文件編碼轉換為UTF-8編碼
1.3 iconv
iconv -f gbk -t utf-8 -o outfilename infilename
-f為原來的編碼方式,-t 為輸出文件的編碼方式, -o表示輸出文件名,這利用outfile表示,最後跟上要更改編碼方式的文件名sourcefile
通過打包
這種方法適用於i18n 和 locale 不一致時。
㈦ linux下的文件名怎麼是亂碼的
如果你需要在Linux中操作windows下的文件,那麼你可能會經常遇到文件編碼轉換的問題。Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8。
查看編碼的方法
方法一:file filename
方法二:在Vim中可以直接查看文件編碼
:set fileencoding
如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那麼你可以在
~/.vimrc 文件中添加以下內容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開
文件編碼轉換
多平台方法:
iconv 提供標準的程序和API來進行編碼轉換;
convert_encoding.py 基於Python的文本文件轉換工具;
decodeh.py 提供演算法和模塊來談測字元的編碼;
linux下文件編碼轉換:
方法一:
在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
:set fileencoding=utf-8
或者
11)設置文件集合,即要對哪些文件進行操作,可以使用通配符,比如我通常是對 C/C++ 源程序進行編碼轉換
:args *.h *.cpp
2)給出要在每個文件上執行的命令,這里是轉換編碼:
:argdo set fenc=utf-8 | update
方法二:
iconv 轉換
5.案例:
假如說我們將windows下的一個UTF-8的文件傳到linux環境下,linux環境下的系統編碼是GB18030,我們cat的時候就會出現亂碼,這個時候就應該想到轉碼了,下面我們來進行試驗:
我們將windows下一個名為UTF-8.sh的文件傳到linux系統中,其中UTF-8.sh的內容如下:
我是中文編碼UTF-8模式~
而linux系統的系統語言設置為:
[root@sor-sys zy]# cat /etc/sysconfig/i18n
LANG=zh_CN.GB18030
SYSFONT="latarcyrheb-sun16"
這個時候查看一下文件的內容及編碼:
[root@sor-sys zy]# file UTF-8.sh
UTF-8.sh: UTF-8 Unicode text, with no line terminators
[root@sor-sys zy]# cat UTF-8.sh
鍩挎垜鏄?腑鏂囩紪鐮乁TF-8妯″紡~[root@sor-sys zy]#
[root@sor-sys zy]#
這個時候我們就需要轉換編碼了,記得使用iconv
[root@sor-sys zy]# iconv -f UTF-8 -t GB18030 UTF-8.sh -o GB18030.sh
[root@sor-sys zy]# cat GB18030.sh
??我是中文編碼UTF-8模式~[root@sor-sys zy]#
[root@sor-sys zy]# file GB18030.sh
GB18030.sh: Non-ISO extended-ASCII text, with no line terminators
[root@sor-sys zy]#
convmv就是更改文件名編碼方式的一個工具。
比如
sudo convmv -f gbk -t utf-8 -r –notest /home
就是將/home目錄下原來文件名是gbk編碼方式的全部改為utf-8格式的。這里 -f 後面為原來的編碼方式,-t 後面是要更改為的編碼方式, -r 表示這個目錄下面的所有文件, –notest 表示馬上執行,而不是僅僅測試而已。另外這命令好像要root才能執行,因此要加上 sudo。
㈧ 關於linux下打開windows文本文件亂碼的問題
掛載Windows分區 1. 手工掛載 在Linux中也可以讀取Windows分區,包括fat32格式的和ntfs格式的。首先你得知道Linux下對硬碟分區的稱呼。比如Windows下的C盤通常是hda1,D盤是hda5,E盤是hda6,等等。詳細情形請看相關文檔。 要掛載Windows分區,首先得確定你所用的Linux系統的locale(這個locale包括了系統使用的語言和字元的編碼等信息)。中文Linux 常用的locale是zh_CN.gb2312,zh_CN.gbk,zh_CN.gb18030 和 zh_CN.UTF-8 。 在默認安裝中,Debian Linux和Mandriva Linux的locale是zh_CN.gb2312,而Ubuntu Linux和Fedora Linux的locale是zh_CN.UTF-8 。最好不要隨便更改locale,否則會出現很多亂碼的情形。要查看系統的locale,可以在終端下輸入下面的命令查看: echo $LANG 其次,你得知道你的windows分區的格式,這個在windows的分區的屬性中可以看到,一般是fat32和ntfs格式的。 假設你的locale是zh_CN.UTF-8,要掛載一個/dev/hda1的fat32格式的windows分區到/mnt/C目錄(若這個目錄不存在手工新建一個),可以在終端下輸入以下命令(在Ubuntu里還需要在這行命令前加上sudo): mount -t vfat /dev/hda1 /mnt/C -o iocharset=utf8 如果你的locale不是zh_CN.UTF-8,把上面命令的utf8改為gb2312;如果這個windows分區是ntfs格式的,將上面命令的vfat改為ntfs。 這樣掛載的ntfs格式的分區,只有root能讀取,如果需要讓普通用戶也能讀取,需要再加上umask=022選項,如下: mount -t ntfs /dev/hda1 /mnt/C -o iocharset=utf8,umask=022 類似地,如果要讓掛載的分區允許所有用戶讀取和修改,可以將上面的umask=022,改為umask=0就可以了。 卸載分區就簡單多了: umount /dev/hda1 有時候卸載分區時提示分區繁忙(device is busy),可以先用下面的命令看看哪個進程在使用此分區: fuser -cu /dev/hda1 假如屏幕的輸出為 /dev/hda1: 8463m(cck) 則可以用此命令看這個進程對應的程序名字: ps 8463 然後可以用此命令結束此進程: kill -9 8463 這樣就可以正常卸載分區了。 2. 自動掛載 要讓Linux系統啟動時自動掛載windows分區,可以把上述的命令寫入 /etc/fstab 文件中,下面是一個例子: # /etc/fstab: static file system information. # #[file system] [mount point] [type] [options] [mp] [pass] proc /proc proc defaults 0 0 /dev/hda9 / ext3 defaults 0 1 /dev/hda13 none swap sw 0 0 /dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy auto rw,user,noauto 0 0 /dev/hda10 /mnt/debian ext3 defaults 0 0 /dev/hda1 /mnt/C ntfs utf8,umask=022 0 0 /dev/hda5 /mnt/D vfat utf8,umask=0 0 0