关于linux下打开windows文本文件乱码的问题
发布网友
发布时间:2022-04-23 19:19
我来回答
共1个回答
热心网友
时间:2023-10-14 14:33
挂载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
Linux操作系统下部分文件乱码的问题解决
解决办法为:使用命令iconv对文件内容编码进行转换。例如我有一个文件"linux常用命令"在windows下打开正常,而在linux下打开则会乱码,其解决办法为在终端输入:iconv -f gbk -t utf8 linux常用命令.txt linux常用命令.txt.utf8 之后再打开"linux常用命令.txt.utf8"这个文件,该...
Linux如何解决查看文件乱码问题linux查看文件乱码
首先,我们可以使用Linux提供的`file`命令来查看文件的编码。此命令可以查看文件的编码,以及文件的类型,比如是文本文档还是二进制文件,当我们确定文件的编码后,可以提供给文本编辑器,使其在正确的编码方式下打开文件,从而解决查看文件乱码的问题。其次,我们可以使用`iconv`工具将文件从一种编码转换到另...
为什么WINDOWS下的汉字到了LINUX下乱码了?
Windows下的文字到了Linux下乱码原因是Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,编码格式不相同导致的乱码。几种解决办法如下:1、在Windows上用记事本把文件,选择另存为编码方式改为 UTF-8;2、在Linux上用vim编辑,在命令模式下输入::set fileencoding=utf-83、iconv 转换,i...
Linux文件乱码
1.5 unar方法 这个最简单省力,默认debian已经安装了额unar,这个工具会自动检测文件的编码,也可以通过-e来指定:即可解压出中文文件。2. 文件内容乱码 2.1 iconv工具 命令很简单,可以man出手册或者--help看一下。2.2 enca工具 Reference Linux文件乱码 - MarshalRUAN - ITeye技术网站 File Roller/...
linux下可执行文件打开显示乱码怎么办
2、原因是系统位数与该可执行文件需要的lib库位数不匹配。用uname命令打印系统信息,发现系统是64位系统。3、用file命令查看文件信息,发现是一个32位可执行文件。4、要想在64位系统上与运行32位程序,则需要安装32位lib库。 对于Ubuntu用户可以使用下面的命令安装。5、过程中有可能找不到需要的库,...
manjarolinux下用wine装windows软件中文乱码,如何解
在使用Manjaro Linux系统时,若遇到了在 Wine 下安装Windows软件时出现中文乱码问题,可以通过以下步骤解决。首先,确认系统语言为英文版,单独安装中文字体可能不足以解决问题,还需要进一步安装中文环境。注意到某些教程提到“请确保系统语言和运行 Wine 的环境一致”,但并未强制要求切换至中文环境。若在终端...
linux中文文件名乱码怎么解决
linux下经常遇到的编码问题 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。查看编码的方法 方法一:file filename 方法二:在Vim中可以直接查看文件编码 :set fileencoding 如果你只是想查看其它编码格式...
从windows复制文件到linux,文件中会出现乱码,除了修改字库还有什么方 ...
文本文件的话应该是编码的问题。 一般来说中文windows下的默认编码是gkb的,而linux下的编码是utf8的,所以会出现乱码。要解决的话,只要将文件的编码转化下就可以了。命令: iconv -f gbk -t utf8 a > a.utf8 这样就把a文件转化为a.utf8文件了。 你试试看 ...
linux下的文本编辑器到windows记事本打开就乱码。
建议使用跨平台的编辑器如sublime之类的写代码,windows的记事本的编码方式不适合用于打开其他平台写的文本
linux中文文件显示乱码怎么解决
Linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是GBK,而Linux默认中文编码为UTF-8,由于编码不一致,所以导致乱码问题。为了解决这个乱码,需要对文件进行转码,具体如下:1、前提保证已安装了convmv;2、具体convmv的用法:Convmv –f 源编码 –t 新编码 [选项] 文件名一般常用参数:-r...