Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos
在linux中查看文件编码命令: set fileencoding
不建议用UTF-8格式编码,在命令行会出现不能显示中文的问题
如果是window端问题,请安如下步骤修改
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤 *** 作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该 *** 作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上 *** 作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
跟中文输入法没关系。我的建议是服务端和客户端都用UTF-8格式最好给你看看我一个FTP服务器的编码:
$ whoami
root
$ echo $LANG
en_US.UTF-8
#这个表明系统默认UTF-8
$ ps auxw | grep vsftpd|grep -v grep
root 32449 0.0 0.0 4288 1020 ?SSep14 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
#查询到我的vsftpd的进程号 32449
$ cd /proc/32449/
$ ls
attr coredump_filter exe limitsmem root statm wchan
auxv cwd fd loginuid mounts smaps status
cmdline environ io maps mountstats stat task
$ cat environ
TERM=vt100PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binPWD=/LANG=en_US.UTF-8SHLVL=1_=/usr/sbin/vsftpd
$
#看到environ文件的内容,其中的UTF-8表示我的vsftpd也采用utf-8编码,en_us表示语系
我的客户端用的有filezilla和flashfxp,默认都设成了以utf-8传输
如果你要用中文语系,最好也检查一下/usr/share/locale下面,比如:
$ ls /usr/share/locale/ | grep -i cn
zh_CN
zh_CN.GB2312
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)