0 0

Linux 文件上传时目录汉字乱码问题???10

    项目部署在Linux上,支持文件上传不过文件上传后并没有存到数据库里而是存到Linux下的Tomcat webapps目录下的. 这样有一个问题: 文件上传后, 在Tomcat webapps里对应的目录名和文件名都有乱码了. 这是怎么回事?

    项目原来是部署在另一台Linux下(A机)的,由于机子出了点问题现在才换在相同操作系统的Linux(B机)下, 项目代码一点也没改,可在B机上有乱码了.

    这怎么改? 谢谢大家先!
问题补充:
不是FTP上传,程序中用的是Struts2中自带的对上传功能.

程序和Linux上都设置提UTF-8.

问题补充:
再补充下:
  String uploadDir= "/usr/local/nsbss/apache-tomcat-5.5.23/webapps/ROOT/resources/IDC运行部/200903";

  File dirPath = new File(uploadDir);

在Linux上 经过File一new后, uploadDir就成"/usr/local/nsbss/apache-tomcat-5.5.23/webapps/ROOT/resources/IDC???/200903"了.

"IDC运行部"成"IDC???"

这怎么办?
问题补充:
String(byte[] bytes, String charsetName)试过了, 不行.

问题是原来项目代码中没有加这样的转换在A机上跑的很好, 现在项目代码没变的情况下换到B机,出乱码问题了.

所以怀疑是Linux下的/etc/sysconfig/i18n文件没设置好. 但试了N多种法, reboot了N多次后,问题还是没有解决.

现在项目中编码方式为UTF-8. 在如下几个方面做了保证:
  1, <%@ page language="java" errorPage="/error.jsp" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %>
  2, 加了一个专门的filter:
     <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
2009年3月24日 09:12

5个答案 按时间排序 按投票排序

0 0

String uploadDir= "/usr/local/nsbss/apache-tomcat-5.5.23/webapps/ROOT/resources/IDC运行部/200903";

  File dirPath = new File(uploadDir);

我还是觉问题出在这一行.
你多试几个编码,gbk.utf-8.

2009年3月25日 11:10
0 0

环境变量里的LANG是什么?

2009年3月25日 11:06
0 0

试一下这个:
String(byte[] bytes, String charsetName)
          构造一个新的 String,方法是使用指定的字符集解码指定的字节数组


String uploadDir = new String(byte[] bytes, String charsetName);

2009年3月25日 09:17
0 0

是不是上传文件时创建的目录.
如果是的话,看一下创建目录那段代码.

2009年3月24日 10:16
0 0


你的上传文件是通过什么方式传的?

如果是ftp上传的话应该不存在这种问题..

如果程序里面的上传文件功能,那你检查一下,当前系统的编码,还有你的程序的编码要一致..

2009年3月24日 09:16

相关推荐

    Linux上安装Oracle汉字乱码完整解决方案

    在Linux环境下安装Oracle数据库时,遇到汉字乱码问题是一个常见的挑战。这个问题主要出现在Oracle数据库的字符集设置与系统默认的字符集不匹配,或者缺少必要的中文字体。本文提供了一个完整的解决方案,旨在帮助...

    Linux上Oracle安装前汉字乱码和安装后创建数据库乱码的解决方法(含附件)

    在Linux环境中安装Oracle数据库时,可能会遇到汉字乱码的问题,这不仅影响了正常的安装过程,也可能导致后续数据库操作中的数据不准确。以下是一份详细的解决此类问题的指南,旨在帮助你顺利进行Oracle安装并创建无...

    Linux系统中文乱码解决完整方案

    在 Linux 系统中,中文文件在 ssh 终端中显示为乱码,这是由于 SSH 客户端和 Linux 服务器之间的字符集不同所导致的。解决这个问题,需要修改 Linux 系统的默认字符集,使其与 Windows 系统的一致。 本文档提供了两...

    Linux 文件系统的目录结构

    "Linux 文件系统的目录结构" Linux 文件系统的目录结构是一种树形结构,其入口从/开始。在 Linux 文件系统中,/是最高一级的目录,所有的目录、文件、设备都在/之下。了解 Linux 文件系统的结构,对于我们需要掌握...

    linux下中文乱码问题

    Linux 下中文乱码问题解决方法 Linux 操作系统中,中文乱码问题是一个常见的问题,它是由系统集成的字符集引起的。由于不能正确地使用相对应字符的字符集,因此 OS 不能识别出文字,导致了乱码。解决这个问题的方法...

    java上传文件到linux服务器,操作linux服务器上文件,下载linux服务器文件,删除linux服务器文件

    本篇文章将深入探讨如何使用Java来实现对Linux服务器的文件上传、操作、下载和删除,以及如何借助ganymed-ssh2库实现远程操作。 首先,让我们了解基础概念。Linux服务器是一种基于Linux操作系统并提供网络服务的...

    如何解决Tomcat下中文乱码问题?

    在IT行业中,尤其是在Java Web开发领域,Tomcat服务器在处理中文字符时经常遇到乱码问题。这主要涉及两个方面:JSP页面显示中文乱码和表单提交乱码。为了解决这些问题,我们需要理解字符编码的基本原理,并采取相应...

    linux解决中文乱码问题

    在Linux系统中,中文乱码问题常常困扰着用户,尤其是对于那些需要处理中文文本的开发者和运维人员。这个问题主要出现在终端、文件名、文件内容显示等方面。以下是一些解决Linux环境中中文乱码问题的方法和详细步骤:...

    Docker 如何上传本地文件到容器目录?

    我要把本地电脑的mysql-connector-java-5.1.46.jar上传到Linux下Docker里面的logstash容器下的/usr/share/logstash/lib目录。 1.首先使用ssh工具上传jar包到Linux的/usr/local目录: 2.使用docker命令复制到docker...

    Linux系统文件乱码转码工具

    通过其提供的功能,用户可以轻松解决文件在不同系统间传输时可能出现的乱码问题,保证文件内容的完整性和可读性。同时,掌握基本的字符编码知识也是每个IT从业者应该具备的技能,这对于理解文件处理和跨平台开发至关...

    JFreechart 在linux下不显示及中文乱码问题

    标题“JFreechart在Linux下不显示及中文乱码问题”指出的是在使用JFreechart库创建图表时,在Linux操作系统环境下遇到的两个主要问题:图表无法正常显示以及中文字符出现乱码。JFreechart是一个Java库,用于生成高...

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    文章中提到,作者在项目中遇到了生成的压缩包文件(可能是通过tar或gzip命令创建的)在Linux下显示中文文件名时出现乱码的问题。他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名...

    redhat enterprise 4加挂u盘过程及汉字乱码问题解决方案

    然而,当你在RHEL4中访问U盘上的汉字文件时,可能会遇到乱码问题。这是因为RHEL4默认不支持UTF-8编码,而汉字通常需要UTF-8来正确显示。为了解决这个问题,我们需要编辑HAL(硬件抽象层)配置。 进入`/usr/share/...

    Linux解决firefox中文页面乱码问题

    1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况。因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况。  2.倘若还有乱码,以及其他应用程序乱码,则尝试如下...

    linux汉字乱麻问题

    ### Linux汉字乱码问题解析及解决方案 #### 一、问题背景 在Linux系统中,由于字符编码设置不当或环境变量配置错误,用户经常会遇到汉字显示为乱码的问题。这种情况不仅影响用户体验,还可能导致数据处理出错。本文...

    linux乱码问题的解决办法

    当在Linux环境下处理来自Windows系统的文件时,如果不正确地处理这两种不同的编码格式,就会出现乱码。 #### 二、查看文件编码的方法 在Linux中,有多种方法可以查看文件的编码格式。 ##### 1. 使用Vim查看文件...

    linux c++ 获取目录下所有文件

    这是一个用于获取指定目录下所有文件的信息的C++代码, 是用于linux系统的

    Linux文件系统目录结构

    Linux文件系统目录结构

Global site tag (gtag.js) - Google Analytics