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

主頁 > 知識庫 > 網頁語言編碼及asp亂碼問題解決方案

網頁語言編碼及asp亂碼問題解決方案

熱門標簽:銀行業(yè)務 Linux服務器 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設置 電子圍欄 服務器配置 團購網站 阿里云
最近公司有一個日文項目,由于之前使用的是自己開發(fā)的中文CMS,并沒有將語言包分離,在網站建設調試過程中出現(xiàn)了令人頭疼的亂碼問題。

亂碼出現(xiàn)的原因 

由于各個字符編碼的儲存空間不一樣,所以當使用不同的字符讀取數(shù)據時,當字符空間過小,就不能正常顯示了。

比如說中文字符的字符集一般是gb2312,如果用utf-8強制讀取改變gb2312的字符,就有可能出現(xiàn)亂碼。因為utf-8的字符集儲存空間大于gb2312,當使用utf-8讀取時,有些字符gb2312的編碼中是不存在的,不存在的字符自然會出現(xiàn)亂碼了。對于靜態(tài)文件來說,如果文件的儲存編碼和網頁中編碼設置(charset)不一致的話,由于以上原因就會出現(xiàn)亂碼問題。

以上是對于亂碼問題的簡單分析,在解決現(xiàn)有問題時有涉及到了asp對國際化的支持。

涉及到三個函數(shù): @CODEPAGE,Response.CodePage,Session.CodePage

下面是MSDN中的一段話。

Setting @CODEPAGE explicitly affects literal strings in a single response. Response.CodePage affects dynamic strings in a single response, and Session.CodePage affects dynamic strings in all responses in a session.

這三個函數(shù)都可以設置asp的編碼,其中 @CODEPAGE 相當于php中的header,必須在文檔的開始發(fā)出。

在中文操作系統(tǒng)的IIS中,默認的為gb2312,參數(shù)值是:”936″,而日文需要指定文檔CODEPAGE :

%@ CODEPAGE=932 %> 

我們使用這個函數(shù)來設置文檔編碼具體的使用方法可以參考:http://www.cloudward.net/techLife/article.asp?id=490

現(xiàn)在應該沒有問題了吧?哇,問題仍然存在。考慮到SEO公司的asp程序全部需要生成靜態(tài)頁面。而生成的頁面全部是windows默認的ANSI,其中包含日文字符仍然會出現(xiàn)亂碼。這樣我們需要一個asp的函數(shù),生成utf-8或者日文編碼的文件。 我們使用以下代碼完成:

Set objStream = Server.CreateObject(”ADODB.Stream”)
With objStream
.Open
.Charset = “utf-8″ //編碼,這里你可以改成任何編碼
.Position = objStream.Size
.WriteText=pencat //pencat 為寫入的數(shù)據
.SaveToFile server.mappath(”patch/flilename.html”),2 //生成文件路徑
.Close
End With
Set objStream = Nothing

經測試后亂碼的問題解決。

您可能感興趣的文章:
  • php 判斷網頁是否是utf8編碼的方法
  • js 顯示base64編碼的二進制流網頁圖片
  • Base64編碼加密JS代碼網頁版
  • 多種語言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的網頁編碼切換解決方案歸納
  • ASP+FSO生成的網頁文件默認編碼格式以及轉換成UTF-8編碼方法
  • ASP UTF-8編碼生成靜態(tài)網頁的函數(shù)
  • asp.net HttpWebRequest自動識別網頁編碼
  • asp.net 網頁編碼自動識別代碼
  • vbs或asp采集文章時網頁編碼問題
  • 判斷網頁編碼的方法python版

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

巨人網絡通訊聲明:本文標題《網頁語言編碼及asp亂碼問題解決方案》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    治县。| 来安县| 大关县| 长子县| 华安县| 海晏县| 原平市| 灌阳县| 明光市| 许昌县| 搜索| 浦东新区| 博客| 乳山市| 金寨县| 永胜县| 恭城| 绥芬河市| 汝城县| 华阴市| 陇西县| 平乡县| 桦甸市| 新昌县| 荣成市| 靖宇县| 新和县| 鹤岗市| 富平县| 荃湾区| 岳西县| 灵璧县| 鄂伦春自治旗| 辽中县| 夏河县| 伊川县| 兴宁市| 黄梅县| 昌江| 东宁县| 铜陵市|