佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > asp 讀取 utf-8格式文檔并生成utf-8格式文檔的亂碼問題

asp 讀取 utf-8格式文檔并生成utf-8格式文檔的亂碼問題

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù) 團(tuán)購網(wǎng)站 科大訊飛語音識別系統(tǒng) 電子圍欄 阿里云 Linux服務(wù)器 服務(wù)器配置
今天在對搜索吧的程序進(jìn)行utf-8修正時,發(fā)現(xiàn)生成的utf-8格式文檔存在著亂碼,原來文件

create_html.asp代碼如下: 

復(fù)制代碼 代碼如下:

%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 

set objrs=server.createObject("Scripting.FileSystemObject") 
conn=server.mappath("example.xml") 
set Stream=objrs.opentextfile(conn,1,true,-2)   
content=stream.readall 
Response.Write(content) 
stream.close 
%> 

        這段代碼要實現(xiàn)的功能是:從example.xml(utf-8格式)中讀取文字包括中文,然后輸出,但是每次輸出卻都是亂碼,這個問題著實困擾了我很久,后來還是在經(jīng)典論壇“小韓”“蕭蕭小雨 ”的幫助下解決了,真是感謝他們了。

        或許我一開始就是錯誤的,現(xiàn)在正確的代碼修改后如下,用了“蕭蕭小雨”給的代碼,包括了用讀取的內(nèi)容生成新的utf-8格式文檔。詳細(xì)代碼如下:

復(fù)制代碼 代碼如下:

%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
% Response.CodePage=65001%>  
% Response.Charset="UTF-8" %>  

'申明變量 
dim read_path,write_paht,content 
'----讀取文件內(nèi)容------------------------ 
Function ReadTextFile(filePath,CharSet) 
       dim stm 
       set stm=Server.CreateObject("adodb.stream")  
       stm.Type=1 'adTypeBinary,按二進(jìn)制數(shù)據(jù)讀入 
       stm.Mode=3 'adModeReadWrite ,這里只能用3用其他會出錯 
       stm.Open  
       stm.LoadFromFile filePath 
       stm.Position=0 '把指針移回起點 
       stm.Type=2 '文本數(shù)據(jù) 
       stm.Charset=CharSet 
       ReadTextFile = stm.ReadText 
       stm.Close  
       set stm=nothing  
End Function 

'----寫入文件------------------------ 
Sub WriteTextFile(filePath,fileContent,CharSet) 
       dim stm 
       set stm=Server.CreateObject("adodb.stream")  
       stm.Type=2 'adTypeText,文本數(shù)據(jù) 
       stm.Mode=3 'adModeReadWrite,讀取寫入,此參數(shù)用2則報錯 
       stm.Charset=CharSet 
       stm.Open  
       stm.WriteText fileContent   
       stm.SaveToFile filePath,2 'adSaveCreateOverWrite,文件存在則覆蓋 
       stm.Flush  
       stm.Close  
       set stm=nothing  
End Sub 
'要讀取的文件路徑 
read_path = Server.MapPath("example.xml") 
'要寫入的文件路徑 
write_path = Server.MapPath("example.asp") 
'讀取的文件內(nèi)容 
content = ReadTextFile(read_path,"utf-8") 
'輸出讀取的文件 
Response.Write(content) 
'開始寫入 
call WriteTextFile(write_path,content,"utf-8") 
%> 


這段代碼相當(dāng)實用,對于生成utf-8格式靜態(tài)頁十分有用,一些必要的解釋我也注明了,需要注意的是:

復(fù)制代碼 代碼如下:

%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
% Response.CodePage=65001%>  
% Response.Charset="UTF-8" %>  
你的頁面不要忘記這幾行代碼了,否則你讀取后輸出的內(nèi)容是亂碼。

標(biāo)簽:江蘇 萍鄉(xiāng) 衡水 棗莊 衢州 大理 蚌埠 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp 讀取 utf-8格式文檔并生成utf-8格式文檔的亂碼問題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    司法| 新晃| 谢通门县| 黄石市| 乌苏市| 木兰县| 扶余县| 新宾| 阳新县| 乌什县| 亳州市| 台北县| 依兰县| 治县。| 禄劝| 乌拉特前旗| 陇川县| 平山县| 南安市| 马尔康县| 清水县| 磐安县| 湖北省| 黎川县| 益阳市| 乐业县| 涪陵区| 黄梅县| 抚州市| 和平区| 车险| 天峨县| 佳木斯市| 曲松县| 漯河市| 安塞县| 长顺县| 石台县| 招远市| 鹤庆县| 华阴市|