背景
使用U盘往Windows主机、Linux主机传文件还是经常的事,但有时候文件名有中文,
传到Linux机器会有乱码,选择起来也很麻烦,最近刚好遇到,写下解决方法。
环境
Linux
[root@min-base ~]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
[root@min-base ~]# echo $LANG
en_US.UTF-
[root@min-base ~]#
Windows XShell
问题
txt文件是用Xftp直接从Windows上拖过来的,在Linux机上显示乱码了。
[root@min-base ~]# ll
total
-rw-------. root root Dec : anaconda-ks.cfg
drwxr-xr-x. root root Dec : cmake-3.7.-Linux-x86_64
-rw-r--r--. root root Dec : cmake-3.7.-Linux-x86_64.tar.gz
drwxr-xr-x. root root Dec : llvm-src
-rw-r--r--. root root Jan : llvm-src.tar.gz
drwxr-xr-x. Aug vim74
-rw-r--r--. root root Dec : vim-7.4.tar.bz2
-rw-r--r--. root root Jan : ??????ϰregexp.txt
[root@min-base ~]#
解决
一般这种问题是文件的编码字符集、Shell编码字符集、XShell编码字符集不匹配,设置匹配就可以了。
临时办法
1)简体中文的Windows一般使用GB字符集,这里将XShell设置为GBK
2)
Linux主机
[root@min-base ~]# export LANG=zh_CN.gbk
再试,就可以正常显示中文了。
[root@min-base ~]# ll
总用量
-rw-------. root root 12月 : anaconda-ks.cfg
drwxr-xr-x. root root 12月 : cmake-3.7.-Linux-x86_64
-rw-r--r--. root root 12月 : cmake-3.7.-Linux-x86_64.tar.gz
drwxr-xr-x. root root 12月 : llvm-src
-rw-r--r--. root root 1月 : llvm-src.tar.gz
drwxr-xr-x. 8月 vim74
-rw-r--r--. root root 12月 : vim-7.4.tar.bz2
-rw-r--r--. root root 1月 : 正则练习regexp.txt
不过以上设置只对当前shell连接生效,新开的shell还是用的原来的设置。
永久生效
1) XShell属性设置
2) Linux环境变量设置
[root@min-base ~]# vim /etc/profile
在末尾追加
export LANG=zh_CN.gbk
就可以了。
然而。。。。。。我发现对插在Linux机器上的U盘仍然不能正确识别出中文目录、中文文件
原来另有蹊跷,就是在挂载U盘的时候设置下字符集
[root@min-base ~]# mount -o iocharset=gbk /dev/sdb4 /mnt
这样设置一般差不多就可以解决了。
不过此操作引发了导入xxx.sql文件时数据库中文乱码问题,有待研究...
XShell连接 Linux系统,显示中文乱码
摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 ...
SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题
一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...
jquery.ajax的url中传递中文乱码问题的解决方法
jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...
windows下mysql中文乱码, 配置解决方法
内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...
Linux中文乱码问题终极解决方法
方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中 ...
CentOS 7 vim显示中文乱码
使用xshell的时候,发现有时候中文显示有乱码,一开始以为是Xshell没设置好,后来检查了一下xshell<
CentOS中文乱码问题的解决方法
一.CentOS系统访问 xxx.cn ,发现中文乱码于是用以前的方式:# yum -y install fonts-chinese # yum -y install fonts-ISO8859 Ce ...
centos 7 网站前端中文乱码分析、解决办法
2019-03-28 1.网站前端中文文字乱码主要原因有两点: (1)mysql数据库内部存储的数据本身处于乱码状态 (2)前端与数据库传输数据的字符集与数据库内部字符集不一致导致 2.查找造成中文乱 ...
PHP中文乱码的常见解决方法总结
PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...
随机推荐
关于Python对齐问题
最近在学习父与子的编程之旅,书上有一个关于猜数的游戏代码,自己敲了以后老是不对,仔细检查后发现是对齐问题. 废话不说了,直接上图: 上面是正确的,下面这个是有问题的,大家可以看下Python代码如果没 ...
新手选择使用 Linux 桌面的七个注意点
导读 刚接触Linux桌面的用户该如何选择一款合适的Linux桌面环境呢?如果你习惯使用Windows或OS X,那么一想到要选择就让人犯难,那么你又该如何在十几个主要的Linux桌面.几十个次要的当 ...
JAVA中的各种 哈希码(HashCode) 与 equals方法在HIBERNATE的实际应用[转载]
1.什么是哈希码(HashCode) 在Java中,哈希码代表对象的特征.例如对象 Java代码 String str1 = “aa”, str1.hashCode= 3104 String str2 ...
GALV_maptravel研究分析(2)
本节地图:Gov's Mansion,Campsite,Yourmansion ++++++++++++++++++++华丽丽的分割线+++++++++++++++++++++++++++++++++ ...
github上face_recognition工程项目实践
一.安装开发环境 1.安装dlib和相关Python依赖 先下载dlib源码: git clone https://github.com/davisking/dlib.git 编译dlib源码:(可以 ...
cmd命令操作Oracle数据库
//注意cmd命令执行的密码字符不能过于复杂 不能带有特殊符号 以免执行不通过 譬如有!@#¥%……&*之类的 所以在Oracle数据库设置密码是不要太复杂 /String Database ...
SpringBoot 配置文件 YML/Profile
1. 全局配置文件 application.properties application.yml 配置文件名是固定的; 配置文件存放在src/main/resources目录或者类路径/config下 ...
C++ Notes 1 - size_type - Accelerated Ch3
1. 为什么用string::size_type而不是int? --Why use string::size_type ? int is supposed to work! it holds numb ...
条款2:尽量以const enum inline 来替换 #define
这里说的意思其实相当于,宁可以用编译器来替换预处理器 因为使用预处理器可能使得被处理过的东西无法进入符号表,例如 #define MAXLEN 16 这里的MAXLEN并没有进入符号表,这样有编译错误 ...