via: http://blog.csdn.net/ariessurfer/article/details/8168012
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,类似的工具还有convmv
[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
相关推荐
例如,在从Windows系统传输文件到Linux系统时,如果文件名包含中文,由于编码不匹配,文件名可能显示为乱码。在这种情况下,我们需要确保在处理文件名时进行正确的编码转换。在PHP中,可以使用`iconv`或`mb_convert_...
具体表现为,在将文件从Linux服务器下载到Windows系统后再上传到另一台Linux服务器时,原本正常的中文文件名变成了乱码。这一问题严重影响了项目的正常运行。 #### 二、问题分析与排查 ##### 1. 初步判断与检查 ...
然而,当涉及到上传包含中文文件名的文件时,可能会遇到乱码问题。这个问题在JMeter的早期版本中尤为突出,比如在4.0版本中。本文将深入探讨如何解决JMeter在上传中文文件名时出现的乱码问题,并提供一种针对...
往往开发环境和生产环境在环境部署时会遇到很多奇怪的问题,此次word文档下载就被卡住了,通过一番努力终于...上传文件txt格式,内有方法详细的代码注释及原因说明,jar包比较常见,大家自行导入,希望可以帮到大家。
解决Linux下文件名乱码的问题,关键在于理解和设置正确的locale,以及正确使用各种命令处理文件名。通过上述方法,你应该能够有效地处理和避免文件名乱码问题,确保文件管理的顺利进行。记得在操作过程中要谨慎,...
Linux 下中文乱码问题解决方法 Linux 操作系统中,中文乱码问题是一个常见的问题,它是由系统集成的字符集引起的。由于不能正确地使用相对应字符的字符集,因此 OS 不能识别出文字,导致了乱码。解决这个问题的方法...
这个问题主要源于Java中默认使用的编码方式与实际文件名编码不一致,尤其是在Windows系统下,文件名通常采用GB2312或GBK编码,而Java中的`ZipInputStream`和`ZipOutputStream`类默认使用的是Unicode编码,这种编码...
本文用 C# 代码解决了在目前四种流行浏览器中Asp.net 输出文件流时文件名的空格及中文字符乱码这两个问题。使用本文的代码,你将可以让 IE(Internet Explorer)、Opera、Firefox 及 Chrome 的用户享受到没有乱码且...
在Linux系统中,中文乱码问题常常困扰着用户,尤其是对于那些需要处理中文文本的开发者和运维人员。这个问题主要出现在终端、文件名、文件内容显示等方面。以下是一些解决Linux环境中中文乱码问题的方法和详细步骤:...
文件下载response.setHeader()下载中文文件名乱码问题解决办法 本文主要讨论了文件下载时response.setHeader()下载中文文件名乱码问题的解决办法。该问题是由于 HTTP 消息头中的 Content-Disposition 头字段不正确...
在Windows环境下,由于字符集兼容性问题,有时可能会遇到文件名显示乱码或者无法正确处理包含中文字符的文件名的情况。针对这个问题,"ffmpeg.exe在windows修正乱码,命令行支持中文字幕文件名" 提供了解决方案。 ...
### Java实现文件下载并解决中文文件名乱码 在日常的Web开发中,经常会遇到需要让用户下载文件的需求,尤其是在企业级应用中。然而,在实际操作过程中可能会遇到一个常见问题:当文件名包含中文字符时,下载后的...
"zip库(解决文件名中文乱码问题).zip" 提供了一个针对C++编程语言的解决方案,专门用于处理ZIP文件中中文文件名的乱码问题。这个问题在处理包含非ASCII字符(例如中文字符)的文件时经常出现,因为标准的ZIP库可能不...
感谢你的下载,文件说明如下: *jsch的源文件 *jsch的依赖包 *用jsch源文件及依赖包构建的项目,便于修改其源码* ...如果乱码问题依然没解决,这个类也许能帮你找到你需要更改的编码类型。然后修改那三处地方。
3. **fbo_ggs_Linux_x64_Oracle_shiphome**:这是一个目录或文件名,很可能包含Oracle GoldenGate的实际软件二进制文件和其他相关配置文件。"shiphome"通常指的是软件的默认安装目录,包含了运行Oracle GoldenGate所...
在IT行业中,批量处理文件名和文件内容是常见的任务,特别是在数据处理、自动化流程和系统维护中。这里我们将深入探讨如何使用Shell脚本来实现这一功能,以及如何通过可视化界面进行操作。 Shell脚本是一种强大的...
在Linux AS4系统中,当用户尝试挂载含有中文或其他特殊字符的U盘时,可能会遇到文件名显示为乱码的问题。这种现象通常与系统的编码设置不符有关。本文将详细介绍如何解决这一问题。 #### 系统环境设置 首先,我们...
本文将深入探讨“文件下载”以及如何解决文件名中文乱码问题,这在处理多语言环境下的数据交流时显得尤为重要。 首先,我们要理解文件下载的基本原理。在Web环境中,文件下载通常涉及HTTP协议的GET请求。服务器接收...
《使用SharpCompress库处理ZIP和RAR文件及中文乱码问题》 在IT行业中,文件压缩和解压缩是一项常见的操作,特别是在数据传输和存储时。本文将深入探讨如何使用SharpCompress这一开源库来处理ZIP和RAR文件,并解决在...