2 qq 29183745 qq_29183745 于 2016.03.01 16:28 提问

java上传文件到linux文件名乱码(内容没有乱码)

LINUX文件:2013-04419-xq(????????????-????????????????).xls
2013-04419-xq(??????????????-????????????????).xls
????????????????????????????????????????????????????????????(????????????????)20160226.xlsx

JAVA代码:
//文件输出流
FileOutputStream fos = new FileOutputStream(targetPath+"/"+new String(filesFileName[0].getBytes(),"UTF-8"));
FileCopyUtils.copy(fis, fos);//上传

5个回答

hucaofang
hucaofang   2016.03.01 16:41

有中文的话会出现乱码的

qq_29183745
qq_29183745 哎,之前没用过LINUX
2 年多之前 回复
mohs2012
mohs2012   2016.03.01 16:43

请不要用中文命名ok?

qq_29183745
qq_29183745 不上传过,之前不知道这个问题
2 年多之前 回复
mohs2012
mohs2012   2016.03.01 16:44

还可以修改服务器的编码方式来解决!

qq_29183745
qq_29183745 风险太大,公司工程都在里面呢。该服务器编码可能会对其他工程有影响,而且我也没这个权限
2 年多之前 回复
xionglangs
xionglangs   Rxr 2016.03.02 11:44

建议你在上传问价到linux服务器的时候,把它的fileName都修改为年+月+日文件夹,再加上fileName改为时分秒数字,这样上传一定不会重复,而且不会乱码,上传完成后,再把这个路径传到数据库里面。

qq_29183745
qq_29183745 回复qq_29183745: 昨天在服务器下建了临时文件,也是以你这种思想临时解决的
2 年多之前 回复
qq_29183745
qq_29183745 所有内容不入库,数据库建表需跟部门的人沟通
2 年多之前 回复
qq_26896951
qq_26896951   2017.08.07 18:08

请问最后是怎么解决的呀?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java上传文件到linux上 防止文件名中文乱码
在windows系统下 默认编码是GBK/GB2312的编码格式,linux上默认为utf-8的编码格式。 当我们在windows上上传文件的时候,JVM会根据本身的操作系统所默认的编码格式 编译成unicode字节数组,进行存储。 然后解析的时候也会根据本身的操作系统默认的编码格式进行解析。 上传文件中文乱码时:  JVM编译成gbk格式的unicode字节数组,然后解析成utf-
解决部署在Linux下的java程序上传文件,文件名中文乱码
最近项目里需要开发一个excel文件上传的功能,项目最终部署在centos上使用tomcat容器。文件上传地址是一个挂载在centos上的windows共享目录。开发完成后遇到一个问题,项目部署在windows时上传文件没有问题,当部署在centos时,上传的文件名包含中文时,上传就会失败。 报错如下: java.io.FileNotFoundException: /mnt/file/2018
中文名文件上传到linux服务器上以后文件名会乱码(openoffice)
1、中文名文件上传后保存在linux服务器上文件名会乱码,但是我们通过SSH直接对服务器上的一个文件进行重命名是可以使用中文的,而且显示出来是正确的,这说明服务器是可以支持中文的。 2、而为什么上传的中文名文件保存起来以后文件名会乱码呢?这是因为Windows的默认编码为GBK,Linux的默认编码为UTF-8。在Windows下编辑的中文,上传到Linux下就会显示为乱码。为了解决此问题,修改
Java处理文件上传时文件的中文名出现乱码问题
项目中遇到通过web上传文件到文件系统时,中文文件名乱码,一步步排查了http通讯过程中的编解码(通过utf-8)都没有发现问题。操作系统的默认字符集也是utf-8。 通过日志打印System.getProperty("file.encoding")也是utf-8码。。。。一时凌乱了!!     最后通过查资料,发现通过java写文件时文件名编码和System.getProperty("sun.j
文件上传至linux服务器的乱码问题
在把文件从windows传到linux服务器时,经常因为乱码而无法访问。 由于linux系统编码一般设置为utf-8,而中文windows下通常默认编码是gb2312,因此经常需要将文件名或文件内容编码进行转换,当然都是utf-8到gb2312的转换!   文件名编码转换,convmv 这个小巧玲珑的软件可以轻松将文件名编码转换搞定! onvmv -f GBK -t
JSP实现文件上传,解决上传文件名为乱码问题
最近写项目用到JSP上传文件,网上的资料较少,且出现的问题也多,中文乱码问题的解决方案也不是很全很完整,基于此, 在查阅大量文件后,依赖FileUpload 和Commons IO 的文件上传比较好,它依赖于两个jar包库: commons-fileupload.x.x.jar 包,下载地址:http://commons.apache.org/fileupload/;commons-io-
java中ftp文件上传和中文乱码解决
见:http://blog.csdn.net/cr135810/article/details/21535637 前几天 有个需求就是上传文件的时候,本地存一份,其他服务器也保存一份,于是就研究了一下,功能只实现了上传文件不能上传文件夹, 这里主要用到了 ftp服务器软件 网上有很多我用的是 serv-u,操作比较简单很容易像我这样的小菜使用 服务器下载地址
解决,文件上传到 ftp 服务器,中文出现乱码问题
上传到 ftp 服务器,中文出现乱码解决:   我遇到的 ftp 服务是设置编码为:GB2312 。注意要在 connect 之前就设置编码。   ftpClient.setControlEncoding("GB2312"); /** * 参数获取FTPClient对象 * @param ftpHost FTP主机服务器 * @param ft
解决windows传送到linux下中文文件名及文件内容乱码问题
利用 winSCP 将windows系统下的文件上传到linux 下,含有中文的文件名,其文件在linux下会显示乱码 ,可以在winscp 环境中设置。 linux下经常遇到的编码问题 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。 查看
java web上传文件,普通表单和文件名乱码问题
项目中用到文件上传。form提交,如果enctype="multipart/form-data",会发现文件名或者普通表单字段乱码 大家一般解决文件名称乱码比较容易,如以下设置 FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload fileload = new ServletFileUpload(