好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 網站開發防止中文亂碼需要了解的codepage的重要性小結

網站開發防止中文亂碼需要了解的codepage的重要性小結

熱門標簽:外呼系統還用卡么 徐州人工智能電銷機器人好用嗎 騰訊地圖標注商戶關閉 智能電銷機器人適用于哪些行業 長沙防封電銷卡品牌 武漢營銷電話機器人軟件 西寧公司外呼系統平臺 地圖標注宅基地 地圖標注服務哪家好

相關的題外話:

一、操作系統
window系統內部都是unicode的。文件夾名,文件名等都是unicode的,任何語言系統下都能正常顯示。

二、輸入法:
微軟拼音輸出的是Unicode的,智能ABC輸出是簡體中文的(所以智能ABC在非簡體中文系統根本不能用,只能打英文)。

三、網頁的textarea
網頁的textarea是用unicode顯示的。所以往里打什么字都能顯示。而一些flash做的輸入框就不行了。

四、Access2000
access里面保存的數據是unicode的,在任何語言系統下都能顯示。
如果數據視圖查看有些字符不正常,那是因為顯示所用的字體不是Unicode字體,
換用Arial Unicode MS 字體就能全部顯示了。(access幫助,搜索,輸入unicode,有說明)

五、Word
word里的繁簡轉換,簡體轉換到繁體后,內碼仍是簡體中文的,其實只是簡體中的繁體字。

六、ASP內部是Unicode的,所有文本都是Unicode存儲的。需要時轉換到指定字符集。

首先說下結論:
%@ codepage=936%>簡體中文
%@ codepage=950%>繁體中文
%@ codepage=65001%>UTF-8

codepage指定了IIS按什么編碼讀取傳遞過來的串串(表單提交,地址欄傳遞等)。

也指定了所有文本變量從Unicode轉換到的編碼,
也就指定了從數據庫取出的數據從Unicode轉換到的編碼。(注意這個,很重要。)

關鍵字:
讀取:一個串串,按簡體讀取是一些字,按繁體讀取是一些字,串串本身編碼沒有變。

轉換:系統主動的轉換,比如從Unicode的“化”字到Big5的“化”字,內碼變成Big5的。如果Big5沒有對應的字,保留Unicode形式(#xxxx;)

簡體中文:化六個結論
Unicode16進制形式:#x5316;#x516d;#x4e2a;#x7ED3;#x8bba;
Unicode10進制形式:#21270;#20845;#20010;#32467;#35770;

下面是我推測出來的編碼轉換的過程:
客戶端:輸入法Unicode--輸入框unicode--從Unicode按charset轉換到對應編碼()--表單發送編碼

服務器端:IIS解開表單編碼--按codepage指定編碼讀取--轉換到對應的Unicode--可以用request("")讀取了--進行一些處理--以Unicode編碼保存到數據庫

服務器端:讀取數據庫的Unicode數據,轉換到codepage指定編碼---生成源代碼--IE按charset讀取顯示。

下面舉例說明:
例一:
假設有三個asp頁面,典型的留言頁面:
1.write.asp 簡單的輸入表單,提交到add.asp。
META http-equiv="Content-Type" content="text/html; charset=big5">
2.add.asp 接收留言,保存到數據庫
%@ codepage=936%>
3.read.asp 從數據庫取得留言,顯示。
%@ codepage=936%> charset=GB2312 或
%@ codepage=950%> charset=big5

大家可以猜一猜,我在write.asp里用微軟拼音輸入法輸入“化六個討論”。最后在read.asp里會顯示什么樣?
是不是暈了。讓我們從頭分析。

例二:
把例一的add.asp的%@ codepage=936%>改為%@ codepage=950%>,又會怎么樣呢?

到這里發現了什么?
1.如果輸入的文字和Charset對應的不同,一轉換,就可能出現Unicode形式的字了。這里就是原因所在。以后整個過程都保留著。
2.Add.asp里codepage決定了保存到數據庫的文字,用的是哪個語言對應的Unicode.如codepage=936,
那么數據庫保存的就是簡體中文的Unicode(數據庫拿回簡體中文系統,一切正常的),
codepage=950保存的就是繁體中文的Unicode.(拿回簡體中文系統,就不對了)。

3.注意一下串串的變化過程:

1)輸入法---CharsetUnicode----指定字符集的映射
2)Charset----表單編碼串串簡單編碼
3)表單解碼上步的逆過程,兩步抵消了。
4)串串à按codepage讀取串串沒變,這步有可能“誤會讀取”
5)轉為對應的Unicode Codepage指定字符集----Unicode映射
6)中間處理,進數據庫無變化,直接以Unicode形式進入
7)按codepage讀取數據庫 Unicode----codepage指定字符集的映射
8)顯示,按Charset指定字符集讀取串串沒變。

以例一說明:

例二:

暈了。現在來用用知識。

案例1。
簡體中文系統下跑的好好的代碼,放到國外空間上,數據庫里亂碼,原有的數據也亂碼。
分析:因為大多數人平時用的都是簡體中文系統,默認的codepage=936,所以平時大家不寫也沒有關系。
但到了國外空間問題就出來了。從數據庫里的Unicode轉換到英文編碼去了,所以數據庫原有的簡體中文轉換到英文后,按GB顯示自然亂碼。
如圖,新輸入的文字顯示正常,但數據庫里保存的是英文的Unicode的。
解決方法:全部加上%@codepage=936即可%>。
全程只有簡體中文與對應Unicode間的轉換。

案例二:
簡體中文的代碼和數據,想轉為完全的繁體版,該怎么辦?
分析:1。代碼文件編碼全部改為Big5的,文件本身保存編碼選繁體。
2.%@ codepage=936 %>
3.Charset=big5
4.access版本無所謂,因為access里的數據是Unicode的。
5.好了,代碼可以在純繁體系統下跑了。
6.遺留問題:原有的簡體中文數據讀出會有一些問號。效果同例一的950讀取,big5顯示。因為從簡體中文的Unicode轉換到繁體中文了,有些字繁體中沒有,就會出問號。
7.解決:用一個臨時asp頁,codepage=65001,讀出為簡體中文的Unicode,用一個Unicode->Big5的函數,轉為繁體中文,然后寫回數據庫,應該行了吧?

兩個案例完全是我按照理論推導出來了,未經證實。
有類似經歷的歡迎批評指正。

您可能感興趣的文章:
  • ASP codepage 頁面編碼使用說明
  • CODEPAGE 列表與asp應用例子
  • 頁面編碼codepage=936和65001的區別

標簽:運城 通遼 巴彥淖爾 普洱 鷹潭 通化 雅安 荊門

巨人網絡通訊聲明:本文標題《網站開發防止中文亂碼需要了解的codepage的重要性小結》,本文關鍵詞  網站開發,防止,中文,亂碼,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《網站開發防止中文亂碼需要了解的codepage的重要性小結》相關的同類信息!
  • 本頁收集關于網站開發防止中文亂碼需要了解的codepage的重要性小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 黄色一片级| 我不要打催乳针了主人| 国产精品一区二区久久末发育娇小| 惩罚涌出手指gl绑住| 国产一卡二卡二卡三卡乱码| 乖女妮妮的嫩苞又嫩又紧视频| 伊人色综| 久草久草久草久草| 国产国产成年年人手机| 91亚洲国产系列精品第56页| 97av麻豆蜜桃一区二区| 3d蒂法浓厚体液榨取动漫在线观看| 波多野结衣家庭教| 男女啪啪做爰高潮全过软件| 精品在线91| 丝袜白浆| 亚洲男人天堂2018| 久热在线精品视频免费| 国产精品婷婷| 韩国主播19禁| 偷偷资源站怎么直播| 公交车上站着被h| 边吻边揉激烈视频| 黄A毛片一区二区三区AAA| 日本精品人妻无码八区九区| 电车痴汉h文| 嗯啊太大了| 高H+肉+黄+乱+高+N喷监狱| 91丨牛牛丨国产人妻??| 他用按摩器把我弄高潮了| 中国熟妇????XXXX18+| 亚洲欧美秘?无码一区二区蜜桃| 操美女网址| 亚洲综合一区二区三区| 夜夜嗨AV一区二区三区免费区| 国产亚洲精品久久久久久777| 91在线精品你懂的免费| 恋爱缺席的罗曼史| 色老板网址| 成人黄页网站| 爱的捆绑|