a标签点击中文文件名乱码_下载中文名字的附件遇到的问题(中文文件名乱码)

博客讨论了一个数据库存储过程中下载上传附件的问题。当从数据库中下载附件时,附件的文件名出现乱码,尽管附件内容本身是正常的。问题出现在文件名的处理上,特别是涉及到'/'字符的使用。数据库字符集为AL32UTF8,应用程序设置为UTF-8。作者寻求帮助以解决文件名乱码的难题。
摘要由CSDN通过智能技术生成

我用这样一个存储过程下载上传的附件,如下所示:

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

浏览 1034

论坛回复 / 浏览 (0 / 1635)

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值