傳遞值的時(shí)候URLEncode一下就可以了,這是一個(gè)較好的解決辦法。
再一個(gè)解決方法是將文件名改成英文名。
還有一個(gè)方法是在IE里面設(shè)置,“選項(xiàng)”“高級(jí)”里面“總是以u(píng)tf-8發(fā)送”這一項(xiàng)打勾去除。
ASP+中文顯示之兩種解決方法。
剛開(kāi)始寫(xiě)ASP+程序時(shí)候碰到的第一個(gè)比較大的問(wèn)題就是中文顯示問(wèn)題,運(yùn)行后發(fā)現(xiàn)ASP+從數(shù)據(jù)庫(kù)中讀出來(lái)的中文全部變成了?????,有點(diǎn)類(lèi)似jsp中的這個(gè)頻率出現(xiàn)最高的中文顯示問(wèn)題了,查了資料發(fā)現(xiàn)有種方法可以輕松解決中文問(wèn)題。
方法一:
在翻閱了微軟NGWS文檔后發(fā)現(xiàn)在文檔的常見(jiàn)問(wèn)題部分有提到要添加一個(gè)config.web文件到
web目錄下,試了一下,中文顯示果然OK了。
方法如下:
建立一個(gè)文件config.web,內(nèi)容如下,放在WEB目錄下
。糲onfiguration>
。糶lobalization
requestencoding="utf-8"
responseencoding="utf-8"
/>
。/configuration>
方法二:
在微軟的新聞組dotnet.framework.aspplus.general中發(fā)現(xiàn)有討論這個(gè)問(wèn)題的文章,方法為添加<%@ CODEPAGE = "936" %>到每一頁(yè)的開(kāi)頭,有點(diǎn)類(lèi)似于jsp中的<%@ page contentType="text/html;charset=gb2312"%>趕緊測(cè)試了一下,果然OK!!!
例子如下面所示
。%@ CODEPAGE = "936" %>
。%@ Import Namespace="System.Data" %>
。%@ Import Namespace="System.Data.ADO" %>
<%@ Import Namespace="System.Globalization" %>
。糷tml>
。糷ead>
。糾eta http-equiv="Content-Type" content="text/html; charset=gb2312">
。/head>
頁(yè)面開(kāi)頭加<%@codepage=936%>試試.
URLEncoe一下就可以解決了.如下:
假設(shè):
FileName="中文名.doc"
gFilePubPath=你的虛擬目錄的名字
Function GetArchURL(FileName)
GetArchURL=""
if Trim(FileName)="" then Exit Function
FileName=Right(FileName,Len(FileName)-InStrRev(FileName,"\\"))
FileMainName=Left(FileName,InStrRev(FileName,".")-1)
FileExteName=Right(FileName,Len(FileName)-InStrRev(FileName,"."))
FileMainName=Server.URLEncode(FileMainName)
GetArchURL="/"&gFilePubPath&"/"&FileMainName&"."&FileExteName
End Function
<% url=Server.URLEncode("路徑/office/aaa/中文名.doc")%.<a href=\'<%=url%>\'> 中文名.doc</a>沒(méi)問(wèn)題
<a href=\'office/aaa/<%=Server.URLEncode("文件")%>.doc\'><a href=\'<%=Server.URLEncode("office/aaa/文件.doc")%>\'>都可以
編輯:北京信誠(chéng)IT保姆IT外包部 http:// www.fouzheng.cn www.xcit.com.cn |