`
Teok
  • 浏览: 152165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jUpload字符集设置

阅读更多
今天学习jUpload(一个applet文件上传组件,详见www.sourceforge.net/jupload)的时候,发现上传后的中文文件名都成了乱码,文件内容并没有问题,查了一下jUpload的doc,上面说设置文件名编码的参数filenameEncoding自从3.3.0版本后不再使用了,我跟了下代码,文件名在服务器servlet处就已经乱了。google一下这个问题,原来只要将在servlet中对commons.fileupload对象调用一次如下方法:
upload.setHeaderEncoding("UTF-8");


然后中文乱问题解决了,顺便看了一下fileupload的api,其原文如下:
引用

public void setHeaderEncoding(java.lang.String encoding)
Specifies the character encoding to be used when reading the headers of individual part. When not specified, or null, the request encoding is used. If that is also not specified, or null, the platform default encoding is used.
Parameters:
encoding - The encoding used to read part headers.

最后一句表明,这个编码设置会用于读取header信息,而jUpload正是将文件名以及文件分割数等信息放在header中,所以头信息的读取是否正确决定文件名编码正确与否。
既然如此,我猜可能是jUpload的http请求并未给request设置编码方式,结果也是如此。

当使用ftp协议上传的时候,又出现了乱码,处理方式和上面的基本相同:
我在FileUploadThreadFTP类的beforeRequest()方法里加入了一句:
ftp.setControlEncoding("GBK");

这样ftp模式下就不会出现乱码。注:当commons.net.ftp初始化一个ftpClient的时候它的默认编码是iso-8859-1.

做完ftp编码的改动之后需要将jUpload重新打包.另外参照jUpload的readme来使用ftp协议传输文件的时候,需要将commons-net,commons-oro这俩包放在jUpload jar的同级目录下,它的ftp实现是基于这两个包的。
发张截图,欢迎有兴趣的朋友一起研究这个组件:
分享到:
评论
1 楼 aigyoo 2012-09-14  
很有兴趣就是不知道怎么做

相关推荐

    linux 下oracle中文乱码字符集设置

    Linux 下 Oracle 中文乱码字符集设置 Linux 下的 Oracle 数据库在导入数据库时出现中文乱码问题,这是因为 Oracle 数据库中的字符集格式不支持中文。解决方法是通过修改字符集格式,将其修改成支持中文的格式,这样...

    mysql字符集设置

    MySQL字符集设置是数据库管理中的一个重要环节,尤其是在处理多语言数据或者有特殊字符需求的应用中。字符集决定了数据库、表以及字段如何存储和显示字符,影响到数据的正确性及兼容性。以下将详细讲解MySQL字符集的...

    oracle字符集的查看和client字符集的修改

    当需要在不同的操作系统或者不同的客户端应用之间传输数据时,可能需要修改Oracle客户端的字符集设置以匹配服务器端的字符集。 1. **在Windows操作系统中修改**: - 打开注册表编辑器(`regedit`)。 - 寻找键值`...

    oracle 字符集修改命令

    由于不同的地区和语言环境对于字符编码的需求各异,因此有时可能需要更改Oracle数据库的字符集设置。本文将详细介绍如何通过一系列的Oracle SQL命令来完成这一任务。 #### 二、准备工作 在进行任何字符集修改操作...

    oracle英文字符集插入到中文字符集

    在C#编程环境中,开发人员可能遇到这种情况:应用程序的字符集设置为英文,但需要访问的Oracle数据库使用了中文字符集。在这种情况下,直接插入数据会导致乱码,因为数据的编码格式不匹配。为了解决这个问题,可以...

    Mysql字符集设置原理及常见问题解决

    MySQL字符集设置原理及其常见问题解决是数据库管理中不可或缺的一部分,尤其对于处理多语言或特殊字符的数据时,正确的字符集配置至关重要。字符集定义了数据库、表和字段能存储的字符范围,它决定了数据的编码和...

    韩文、日文、繁体字的字符集,及字符集介绍

    在计算机科学领域,字符集(Character Set)是用于表示文本的一组符号集合,它定义了可以被编码的字符范围和编码方式。字符集对于不同语言的处理至关重要,尤其是在存储、显示和传输文本时。本篇文章将详细介绍韩文...

    Oracle 字符集详解

    在Oracle中,可以通过以下SQL查询来查看当前数据库的字符集设置: ```sql SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'; ``` 这将返回当前数据库的全局字符集。此外,也可以查询...

    Oracle数据库字符集问题解决方案大全.doc

    该文档涵盖了字符集的概念、字符集的设置、字符集的影响因素、解决汉字显示异常的方法等多个方面的内容。 一、字符集概念 字符集是 Oracle 数据库中用于适应不同语言文字显示的设置。常见的字符集有 ZHS16CGB...

    设置mysql字符集

    在IT领域,尤其是在数据库管理与应用中,字符集的设置对于确保数据的正确存储与显示至关重要。MySQL作为全球广泛使用的开源关系型数据库管理系统之一,其字符集的设置直接影响到数据的编码方式,进而影响到数据的...

    informix字符集转换

    本文将详细介绍在Linux/Unix平台上如何设置并进行Informix字符集转换。 ### 一、字符集概念 在深入探讨Informix字符集转换之前,我们首先需要了解什么是字符集。字符集是一种用于表示文本的标准集合,它定义了一组...

    Oracle字符集转换

    例如,在中文环境下,如果数据库字符集设置为WE8ISO8859P1,那么在存储中文数据时就会出现问题。本文将详细介绍如何通过Oracle提供的工具进行字符集转换,避免因字符集问题导致的数据丢失或显示异常。 #### 二、...

    怎样修改查看Oracle字符集及怎样修改字符集

    - 如果会话没有特殊设置,则会话字符集通常与`nls_instance_parameters`中的设置相同。 4. **字符集一致性要求** - 在Oracle数据库中,客户端和服务器之间的字符集要求保持一致,以确保非ASCII字符的正确显示。...

    oracle数据库导入导出命令! 更改字符集

    - **字符集识别**:Oracle数据库支持多种字符集,如AL32UTF8、WE8ISO8859P1等,不同的字符集用于支持不同语言和特殊字符。在导入导出过程中,确保源和目标数据库的字符集兼容至关重要,否则可能导致乱码。 - **字符...

    oracle修改字符集

    Oracle数据库的字符集是决定数据库如何存储和处理字符数据的关键因素。在某些情况下,由于字符集不匹配,可能会导致数据导入导出时出现问题,比如提到的.dmp文件无法正常导入到其他数据库。针对这种情况,我们可以...

    Oracle字符集的问题.docx

    ### Oracle字符集问题...合理设置客户端及数据库的字符集,不仅能避免数据转换错误,还能提高数据处理的效率和准确性。此外,通过预先规划和配置,在安装阶段就设定好合适的字符集,可以从根本上避免此类问题的发生。

    sybase 字符集转换

    在进行任何更改之前,首先需要确认当前数据库的字符集设置。可以通过执行以下SQL命令来查看: ```sql SELECT name, codepage FROM sysdatabases WHERE name = 'your_database_name'; ``` 如果`codepage`字段显示为...

    GBK字符集(汉字完整版)

    - **网页开发**: 在HTML、CSS和JavaScript中,可以通过设置合适的字符集来支持GBK编码的中文内容。 - **数据库存储**: 数据库系统(如MySQL)也支持GBK编码,可以用来存储和检索中文数据。 #### 七、GBK与其他字符...

    更改SYBASE默认字符集为CP936

    - 使用`sp_configure`命令设置服务器的默认字符集为CP936: ``` 1> sp_configure 'default character set id',171 2> go ``` - 成功消息示例: ``` In changing the default sort order, you have also ...

    Oracle10g字符集设置,解决中文乱码

    Oracle 10g字符集设置是数据库管理中的一个重要环节,特别是在处理中文数据时,正确的字符集配置至关重要。在Windows环境下,Oracle 10g客户端的安装可能会遇到中文乱码问题,这通常是因为新安装的客户端与旧版本...

Global site tag (gtag.js) - Google Analytics