在应用脚本生成文件时,发现生成的文件名称出现乱码(似麻将一样).刚开始找来找去,以为是复制粘贴的原因,复制时复制了特殊字符导致的,结果修改源文件后发现生成的文件名还是乱码.后来在执行脚本时,提示"sh $'\r': 未找到命令"的错误,百度了一下,才发现原来是编码的问题导致的.经由这个提示才想到乱码可能是字符编码不一致导致的.于是用notpad++再次看了一下源文件,才发现编码的格式是DOS\Windows,才想到unix和windows编码有所区别,文件格式改为unix后,问题顺利解…
centos下通过rm命令来删除文件,但是如果要删除文件名乱码的文件,就不能直接使用rm命令了,因为压根就无法输出文件名来.不过借助find命令可以实现对其删除.在linux下对于每个文件都一个对应的不变的inode号,使用 ls -li 可以查看到文件的inode号,同时find可以根据inode号来查找,另外find命令中可以执行其他的命令.删除的步骤如下: 通过ls -li 获取要删除乱码文件名文件的inode号,比如得到的是 123456 执行删除 find ./ -inum 12345…
原文来自:http://www.zhukun.net/archives/7434 CentOS系统下中文文件名乱码 2014/09/01Linux运维centos.Linuxbear 从windows上传到linux的文件或者目录,在Linux系统中显示为乱码.虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF-8,但在Shell中(或通过http访问),仍是乱码…… 原因在于,Windows 的文件名中文编码默认为GBK,压缩或者上传后…
1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x UTF-8 test.txt 2.convmv文件名编码转换: 从Linux往windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,…
文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码.文件名转码工具convmv没安装的话用下面的命令安装: sudo apt-get install convmv 复制代码 convmv 使用方法:convmv -f 源编码 -t 新编码 [选项] 文件名常用参数:-r 递归处理子文件夹–notest 真正进行操作,默认情况下是不对文件进行真实操作–li…
文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码 不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. sudo apt-get install convmv convmv 使用方法: convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 –notest 真正进行操作,默认情况下是不对文件进行真实操作 –list 显示所有支持的编码 –unescap 可以做一…
原博文地址:http://www.cnblogs.com/york-hust/archive/2012/07/07/2580388.html 文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码 不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码.文件名转码工具convmv没安装的话 用下面的命令安装: sudo apt-get install convmv 复制代码 convmv 使用方法: convm…
在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码.虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF-8,但在Shell中(或通过http访问),仍是乱码…… 原因在于,Windows 的文件名中文编码默认为GBK,压缩或者上传后,文件名还会是GBK编码,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. yum install co…
使用Servlet实现文件下载功能时,使用IE下载出现文件名乱码; 网上常见的解决办法是通过"user-agen"来判断浏览器: if (req.getHeader("user-agent").toLowerCase().contains("msie")) { // IE filename = URLEncoder.encode(filename, "UTF-8"); } else { // 非IE filename = ne…
现在php有很多类库,会生成文件,比如生成zip文件,生成二维码等等.这些类库用起来很爽,但是一旦生成带有中文的文件名,极有可能出现乱码. 问题:生成的中文文件名会变成乱码 解决:使用函数:iconv().rename() 生成文件名时,直接生成英文名,比如:a.zip.c.zip等等.然后,使用php的移动文件的函数rename即可, rename('a.zip',iconv('UTF-8', 'GB2312//IGNORE', '中文a.zip')); ignore的意思是忽略转换时的错误,…
 通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名改成ftl文件(要注意的是生成xml格式要是2003格式的xml,也就是说拿到的word模板得是2003格式的,否则用wps打开word将会出现问题) 详细步骤如下: 模板制作(将要动态显示的数据打上标记,这个标记是freemarker中的EL标记,要注意的是,要控制值为空的情况,下面${(site…
今天在学校做实验需要解压缩一些范例程序,我准备在我的电脑上把这个实验做完,所以就把文件copy到我的CentOS里面去了. 但是万万没想到``````解压缩的时候悲剧了,用unzip解压出来一大堆乱码文件,只要是中文的名称全都是乱码. 我当时查了无数博客,论坛,无外乎两个办法: 1.用 unzip -O utf-8 但是-O这个命令老早就没了啊大哥!麻烦你们复制粘帖的时候自己实践下好吗! 2.用7zip 这个靠谱,我用"7z x xxx.zip"成功的解压出来了``````````另外…
在下载用apache或者nginx做的索引目录时,遇到文件名乱码问题.搜索了不少资料,尝试了好几种方案,大家可以结合使用. 一般情况下加上–restrict-file-names=nocontrol参数就可以用了. 其实除了下面方法一和方法二外,还有一个大家可以自由发挥的,我是没有研究透,编码实在太让自己头疼了. 有一个前提,要注意索引目录显示出来的是什么编码,比如有些网站是UTF-8(这个应该比较正规,中文不会出现很大麻烦,可以用方法二搞定),有些是GBK,可能跟文件的编码,或者apache.…
本文原创地址:http://blog.csdn.net/ranbolwb/article/details/8083983 ,转载请保留本行. 本例子是上一篇 DataTable 导出 Excel 的进阶,除了上一篇提到的处理乱码问题,本例还添加了处理多行表头.合并单元格的功能及处理中文文件名乱码问题,应该可以满足日常开发的需要了. 废话不多说了,直接上代码: PS: 以上代码可以生成下列Excel文件,但是未经严格测试,或有错漏,请引用或使用本文代码的诸君注意. 导出效果如下图:  …
如果你把Mac当成你的主要工作机器,而你的同事用的都是Windows,有时候交换文档就是一件很痛苦的事,比如今天要说到的问题:当同事传给你一个zip文件,结果你拿过来解压后发现里面有些文件的文件名如果带中文的话,你看到的将会是一堆乱码...Jay一直都无视这个问题,直到有一天终于忍不住了,去google了一把,终于找到了答案,这里分享一下. 其实解决方案很简单,下个软件装上吧!我们要装的软件是“The Unarchiver”.进入Mac App Store搜索 这里略去搜索和安装的过程 安装后第…
主要原因是,在windows下压缩文件时,是以系统的默认编码(gbk,gb18030)来压缩,zip文件并没有声明编码的格式,因此,linux下解压缩时,也会使用系统默认的格式(utf-8)解压缩,编码格式不同,自然会出现乱码. 解决办法,linux下解压zip文件时声明一下编码即可.比如对于某个windows下用zip压缩的文件 xx.zip 解压时,可以利用 $ unzip -O CP936 xx.zip很方便,亲测~ 实际上,CP936用GBK, GB18030也是可以的. 补充,一般ra…
linux下通过rm命令来删除文件,但是如果要删除文件名乱码的文件,就不能直接使用rm命令了,因为压根就无法输出文件名来.不过借助find命令可以实现对其删除.在linux下对于每个文件都一个对应的不变的inode号,使用 ls -li 可以查看到文件的inode号,同时find可以根据inode号来查找,另外find命令中可以执行其他的命令.删除的步骤如下: 通过ls -li 获取要删除乱码文件名文件的inode号,比如得到的是 123456    执行删除 find ./ -inum 123…
前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UTF-8.所名不是编码问题造成的.使用firefox8 测试很正常.猜想是因为ie的某些特殊的设置导致的问题. 2.以"PHP ie 下载 文件名乱码"为关键字搜索.果然,ie对中文文件名的下载文件是需要特殊处理的. 3.网上一哥们如是说: 如果$file_name是UTF-8编码的,比如文…
利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码 2014-07-31 12:53 1047人阅读 评论(0) 收藏 举报  分类: mysql(8)  php 算法(20)  php(38)  版权声明:本文为博主原创文章,未经博主允许不得转载. 利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码.做了很久终于知道了很好的解决方案.…
参考:http://www.cnblogs.com/xingma0910/p/4651889.html idea:文件名乱码:…
.net发邮件 附件文件名乱码,可以下载以下补丁安装. https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31723…
又是折腾了一天才解决的问题,网上关于这个问题的资料不多,希望写出来能帮到有需要的人. 之前无论怎么设置charset都不起作用, 后来看了这篇文章 才发现MultipartEntityBuilder有一个setMode的方法 可以设置成以浏览器兼容模式运行,设置后便不会乱码了. 下面是测试的源码: import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import org.apache.…
1.linux解压压缩文件乱码 unzip -O CP936 xxx.zip 2.一般文件用convmv sudo convmv -f gbk -t utf-8 -r --notest /your_directory 就是将/your_directory目录下原来文件名是gbk编码方式的全部改为utf-8格式的.这里 -f 后面为原来的编码方式,-t 后面是要更改为的编码方式, -r 表示这个目录下面的所有文件, –notest 表示马上执行,而不是仅仅测试而已.另外权限不同,可能要root才能…
在Ubuntu下解压Windows下压缩的zip文件时,会出现解压出的带中文文件名的文件名乱码,这是因为Ubuntu和Windows默认的编码不同,Ubuntu下默认的编码是UTF-8,而Windows下默认的编码是GBK,而zip文件自身却不带有任何标识其编码的信息.对于这个问题,主要有以下三种解决方法: 一.命令行指定解压字符集 解压时指定字符集,可以是CP936,GBK,GB18030 $unzip -O CP936 xxx.zip 不过,"man unzip"对这个参数没有任何…
解决思路:通过请求头中的User-Agent参数中的信息来区分不同浏览器 public Object exportPz(HttpServletRequest request, HttpServletResponse response, Url url, UserDetails user, Map<String, Object> urlParams, Map<String, String> reqParams) throws ParseException { String json…
Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见  Linux常用命令 2.pull centos 1)在docker仓库中搜索centos7镜像 docker search centos 2)执行docker pull centos ,拉取search到的镜像 docker pull centos 3)查看本地镜像docker images是否拉取成功 docker images 4)执行docker run 命令开启centos容器…
JAVA文件下载时乱码有两种情况: 1,下载时中文文件名乱码 2,下载时因为路径中包含中文文件名乱码,提示找不到文件 解决方法见下面部分代码 response.setContentType("multipart/form-data"); String userAgent = request.getHeader("User-Agent"); String oraFileName = meetingFile.getFileName(); String formFileN…
#问题:客户端为ie或Firefox,服务端为asp.net时,下载文件名中包含中文汉字时,下载下来的文件的文件名是乱码: #解决方案: 示例代码:下载名称中带汉字的文件: public void ProcessRequest(HttpContext context) 2 { string action = context.Request["action"].ToString(); if (action == "download") { string fileNam…
response.setContentType("text/html; charset=UTF-8");  Boolean isMultipart = ServletFileUpload.isMultipartContent(request);  PrintWriter out = response.getWriter();  if (isMultipart) {   FileItemFactory fileItemFactory = new DiskFileItemFactory()…
转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录名及文件名中的中文显示为“??”. 原因: FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码. 解决方案: 1.将中文的目录或文件名转为iso-8859-1编码的字符.参考代码: 复制代码 代码如下:    String name="目录名或文件名"; na…