我用这样一个存储过程下载上传的附件,如下所示:
create or replace PROCEDURE download_mfg_file1(p_file in number) AS
v_mime VARCHAR2(48);
v_length NUMBER;
v_file_name VARCHAR2(2000);
Lob_loc BLOB;
BEGIN
SELECT MIME_TYPE,BLOB_CONTENT,name,DBMS_LOB.GETLENGTH(blob_content)
INTO v_mime,lob_loc,v_file_name,v_length
FROM MFG_UPLOADFILES
WHERE id = p_file;
--
-- set up HTTP header
--
--use an NVL around the mime type and
--if it is a null set it to application/octect
--application/octect may launch a download window from windows
owa_util.mime_header( nvl(v_mime,'application/octet'),FALSE);
--set the size so the browser knows how much to download htp.p('Content-length:'|| v_length);
--the filename will be used by the browser if the users does a save as
htp.p('Content-Disposition: attachment;filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)||'"');
--close the headers
owa_util.http_header_close;
--download the BLOB
wpg_docload.download_file(Lob_loc);
end download_mfg_file1;
上传的附件保存在数据库里并没有乱码问题,下载的时候,附件内容也没有问题,问题是附件的文件名变成乱码了.数据库的字符集是AL32UTF8,应用程序设置的是UTF-8.红色字体标记的部分,我看不明白是怎么去取这个文件名的符号'/'是做什么用的?因为保存在数据库里的v_file_name值里面只有'\'符号,没有'/'符号,它到底是怎么取得文件名的?英文的时候正常.哪位帮看看是什么原因?不胜感激!
分享到:
- 2008-03-20 19:25
- 浏览 1320
- 评论(0)
- 论坛回复 / 浏览 (0 / 1784)
- 查看更多
相关推荐
在ASP.NET开发中,处理文件下载时经常遇到的一个问题是文件名乱码。这不仅影响用户体验,也降低了应用程序的专业性。本文将深入探讨如何在ASP.NET中解决下载文件名乱码的问题,通过分析代码示例,提供实用的解决方案...
总之,解决JMeter上传中文文件名乱码问题需要对JMeter的源代码有深入的理解,并能针对性地进行修改。通过确保正确处理文件名的编码,我们可以避免在测试过程中遇到的乱码困扰,从而提高测试的准确性和效率。
本文将深入解析如何在JSP中实现文件下载,并解决中文文件名乱码的问题。 首先,我们需要了解HTTP协议在处理文件下载时的角色。当用户请求下载一个文件时,服务器需要设置响应头来指示浏览器如何处理这个响应。在JSP...
在Java编程中,遇到“java下载时文件名乱码”的问题通常是由于编码不一致或处理不当造成的。在处理文件下载时,尤其是从Web服务器下载带有非ASCII字符的文件名时,这种问题尤为常见。让我们深入探讨这个问题,并提供...
通过适当地使用`Content-Disposition`头,并根据目标浏览器的特性调整其格式,可以有效地避免文件名乱码问题,确保所有用户都能获得良好的下载体验。这不仅提高了网站的可用性和用户体验,也体现了开发者对细节的...
总结来说,通过设置正确的Content-Disposition响应头,并将文件名进行UTF-8编码,可以有效解决Web应用中文件下载时的中文文件名乱码问题。同时,根据文件类型设置正确的Content-Type响应头,以及考虑浏览器的兼容性...
7. **问题诊断与调试**:当遇到中文附件名称乱码问题时,通常需要检查客户端与服务器的编码一致性,查看HTTP头信息,分析服务器日志,并可能需要使用十六进制编辑器检查文件名的实际字节表示。 8. **解决方案**:...
### WebLogic与Tomcat下载附件乱码问题解析 在企业级应用服务器的环境中,WebLogic与Tomcat都是非常常见的中间件平台。用户在使用这些平台进行文件下载时可能会遇到附件名称出现乱码的情况,这不仅影响用户体验,也...
Drupal 6 是一个流行的开源内容管理系统,但在处理中文文件名的上传时,用户经常会遇到乱码问题。这个问题主要源于 Drupal 的文件系统和数据库存储机制不支持中文字符集,导致中文文件名在保存到数据库或服务器时...
在Java Web开发中,使用SmartUpload组件上传附件时,可能会遇到中文文件名乱码的问题。这个问题通常涉及到字符编码的处理,特别是在不同的操作系统和Web服务器环境下。以下是对彻底解决该问题的详细解析: 首先,...
在使用Struts2进行文件下载功能时,可能会遇到中文乱码的问题。本篇主要讨论如何解决Struts2.2.1版本中文件下载时的中文乱码问题,以及相关的配置和实现细节。 首先,文件下载的关键在于设置正确的HTTP响应头。`...
在使用PHPMailer发送包含中文字符的邮件及其附件时,可能会遇到附件名称显示为乱码或中文标题出现乱码的问题。这主要是由于PHPMailer在处理中文字符时存在一定的局限性,特别是当涉及到特定的文件操作函数(如`...
在之前的版本中,JMeter在处理非ASCII字符(如中文字符)时可能会遇到编码问题,导致在上传或下载文件时文件名显示为乱码。这个问题主要源于JMeter默认使用的是ISO-8859-1编码,无法正确解析UTF-8编码的中文字符。在...
当下载的文件名包含中文字符时,用户经常会遇到中文乱码的问题。这主要是因为浏览器对文件名的解析和服务器端字符编码设置不一致导致的。本文详细介绍了PHP附件下载时中文名称乱码问题的解决方法,并深入分析了乱码...
在Java编程中,文件下载是常见的任务之一,特别...通过以上步骤,你可以实现一个基本的Java文件下载功能,并解决中文文件名乱码的问题。对于更复杂的应用场景,如大文件分块下载、断点续传等,还需要进一步优化和扩展。
本文将详细探讨如何解决PHP中强制下载文件时遇到的IE下中文文件名乱码问题。 首先,让我们了解问题的根源。在HTTP协议中,文件名是通过`Content-Disposition`头部传递的。对于包含非ASCII字符的文件名,如中文...
然而,在这个过程中,可能会遇到两个主要问题:汉字乱码和GridView分页问题。本文将详细讲解如何解决这两个问题。 首先,我们来看汉字乱码问题。在导出Excel时,如果编码设置不正确,汉字可能会显示为乱码。在给出...
在PHP编程中,当涉及到跨浏览器的文件下载时,可能会遇到中文文件名显示为乱码的问题。这个问题主要是由于不同浏览器对文件名编码处理方式的差异所导致的。本文将详细介绍如何通过PHP解决这一问题。 首先,我们需要...