在linux中文件中^M符号的问题以及中文识别问题

在linux中文件中^M符号的问题以及中文识别问题,第1张

在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n'就显示成^M+'\n'。

用ultraedit或者notepad plus都有相应的选项可以将Windows下的文本格式文件转换成unix格式文件。比如:notepad plus中“编辑”—>“档案格式转换”—>“转换为UNIX格式”。

第一种方法:

cat -A filename 就可以看到Windows下的断元字符 ^M,要去除他,最简单用下面的命令:

第二种方法:^M 输入方法: ctrl+V ,enter

第三种方法: ^M 输入方法: ctrl+V ,enter

使用vi 进行编辑

第四种方法:^M 可用 \r 代替

简单点的方法是,在notepad++中打开,

在保存就好了。

有时在linux的文件中输入了中文,并且是以中文为行结尾的,这时再在windows的R中入去时可能报错

也就是说在windows下它是变成了一行,修改办法是使用notepad++打开

如果需要在R中直接读取文件的话,需要在read.table中添加 fileEncoding="UTF-8" 这个参数

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-8iconv -f GBK -t UTF-8 gbkfile.txt >utf8file.txt

修改一下vim的配置. 在home目录下新建.vimrc 文件.

文件内容:

set encoding=utf-8

set termencoding=gbk

set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1

set ambiwidth=double

试试.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8491427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存