亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 網絡通信 > 正文

IIS如何接收ServerXMLHTTP傳過來的編碼字符?

2019-11-05 03:14:32
字體:
來源:轉載
供稿:網友

一. 事情的起因:

從我的組件中企圖向服務器端的asp頁面發送一個QueryString,它的值為郵件的URL。希望ASP頁面接收之后,直接將該字符串交給ExchangeOWA

由于OWA只認UTF8編碼的URL字符串,所以我們希望組件里用MSxml2::Serverxmlhttp將這個郵件URLUTF8編碼字符串發送至服務器的ASP頁面。然后ASP頁面接收之后,也就不用轉碼,直接交給OWA即可。

但是這么做,在ASP頁面中一開始拿到的字符串就是亂碼,原來的“收件箱”的UTF8碼是“%E6%94%B6%E4%BB%B6%E7%AE%B1”,IIS接收時卻是“鏀朵歡綆”!

于是在組件中直接發送漢字的“收件箱”,但是IIS接收時依然是“鏀朵歡綆”!

二. 測試的代碼:

(1). 客戶端用SXH對象POST操作提交一個Form請求的頁面:

<%@ Language=vbScript%>

<%

DataToSend = "%E6%94%B6%E4%BB%B6%E7%AE%B1" ' 收件箱的UTF8編碼

DataToSend = "id=" %26amp; DataToSend

Dim xmlhttp

Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")

這相當于提交一個Form,具體可參見微軟文檔:

HOWTO Submit Form Data by Using XMLHTTP or ServerXMLHTTP Object (Q290591)

xmlhttp.Open "POST","http://localhost/tester/Receiver.asp",false

xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

xmlhttp.send DataToSend

Response.ContentType = "text/xml"

Response.Write xmlhttp.responseXMl.xml

Set xmlhttp = nothing

%>

(2). 服務器端用Request.Form來接收提交的值的頁面:

<%

Dim objTrace

set objTrace = Server.CreateObject("p

objTrace.trace "Start OK"

value = Request.Form("id")

Response.ContentType = "text/xml"

objTrace.trace CStr("IIS接收: ") %26amp; CStr(Value)

value = server.URLEncode(value)

objTrace.trace Cstr("IISUnicode==>UTF8后的結果: ") %26amp; CStr(Value)

response.write "" %26amp; value %26amp; ""

objTrace.trace "End OK!"

%>

三. 測試結果:

用網絡探測器跟蹤表明,假如SXH對象傳遞中文字符,一定會被它事先轉為UTF8編碼的字符串,然后再發給對方服務器。這個是差不多可以確定的。

要害是,IIS接到這個UTF8編碼后,是如何處理的?

我們作了以下試驗:

測試

序號

Client

Server

客戶端提交的Form的字符串

ASP頁面通過Request.Form(“id”)得到的字符串

Server.URLEncode(value)轉碼之后的結果

1

%E6%94%B6%E4%BB%B6%E7%AE%B1

(收件箱的UTF8編碼)

鏀朵歡綆

%E6%94%B6%E4%BB%B6%E7%AE

(缺少了最后的”%B1”)

2

收件箱

鏀朵歡綆

%E6%94%B6%E4%BB%B6%E7%AE

(缺少了最后的”%B1”)

3

%E8%8D%89%E7%A8%BF

(草稿的UTF8編碼)

鑽夌

%E8%8D%89%E7%A8%BF

(這回是正確的編碼了)

4

%CA%D5%BC%FE%CF%E4

(收件箱的Unicode編碼)

收件箱

%CA%D5%BC%FE%CF%E4

(還是正確的Unicode編碼)

5

%E5%B7%B2%E5%88%A0%E9%99%A4%E9%82%AE%E4%BB%B6

(已刪除郵件的UTF8編碼)

宸插垹闄偖浠

%E5%B7%B2%E5%88%A0%E9%99%A4%E9%82%AE%E4%BB

(缺少了最后的”%B6”)

6

%25E6%2594%25B6%25E4%25BB

%25B6%25E7%25AE%25B1

(就是將收件箱的UTF8編碼再用

Server.URLEncode()轉一遍碼)

%E6%94%B6%E4%BB%B6%E7%AE%B1

(這就是正確的收件箱的UTF8編碼,直接扔給OWA即可)

%25E6%2594%25B6%25E4%25BB%25B6%25E7%25AE%25B1

四. 你認為這說明了什么:

對于試驗12,IIS接收之前是UTF8編碼,但是注重是奇數個字符!

UTF8編碼實際上是真實內存中字符串存放的數據的明碼,%號相當于只是一個分割符,E是高8位,6是低8(?)。

IIS接收之后,就會將其轉換為Unicode編碼,但不是明碼,所以%號不見了,由于這時的UTF8編碼是奇數個字符,IIS就錯誤地將其最后一個字符“%B1”截去。

假如拿這個鏀朵歡綆放在XML中,讓IE解釋的話,就會顯示為“收件?”。這說明鏀朵歡綆確實是正確的Unicode字符串,只是漢字少了一個字符。

對于試驗3草稿UTF8編碼是偶數個字符,所以IIS就能夠正確地轉碼,這個“鑽夌”實際上就是草稿Unicode編碼格式。

對于試驗4,你傳給IIS的已經是Unicode編碼了,所以它會自動將其再轉換為Ansi編碼,這樣就是正常的收件箱了。

對于試驗6,將中文字符的UTF8編碼再進行一次UTF8轉碼!將這個結果傳給IIS,IIS接到之后,可能只是將%25簡單地轉義為%號,然后就不管了。于是這就是正確的UTF8編碼了。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
777午夜精品福利在线观看| 国内揄拍国内精品少妇国语| 亚洲毛片在线观看.| 91a在线视频| 91香蕉亚洲精品| 国产做受69高潮| 欧美一级大片视频| 亚洲a在线播放| 最新亚洲国产精品| 懂色av影视一区二区三区| 国产精品中文字幕在线| 亚洲免费成人av电影| 欧美视频国产精品| 日韩在线视频二区| 国产成人精品视频在线观看| 亚洲成人在线视频播放| 亚洲美女黄色片| 国产午夜精品麻豆| 亚洲一区二区三区在线免费观看| 欧美精品18videos性欧美| 91视频8mav| 国产亚洲免费的视频看| 日韩美女毛茸茸| 欧美国产高跟鞋裸体秀xxxhd| 九九视频直播综合网| 国产日韩在线精品av| 久久人人看视频| 另类少妇人与禽zozz0性伦| 亚洲最新中文字幕| 精品久久久久久久久久国产| 韩国一区二区电影| 国产精品精品久久久久久| 久久国产精品久久久| 亚洲r级在线观看| 国产欧美日韩专区发布| www.美女亚洲精品| 国产日韩欧美在线观看| 国语自产精品视频在线看| 8090理伦午夜在线电影| 久久人人爽人人| 亚洲欧美视频在线| 国产一区二区三区毛片| 91中文在线观看| 狠狠做深爱婷婷久久综合一区| 日韩最新av在线| 91精品国产综合久久香蕉| 亚洲精品成人久久| 国产精品久久久久久婷婷天堂| 国产成人亚洲综合| 97在线观看视频| www.美女亚洲精品| 欧美视频二区36p| 国产成人一区二| 国产一区二区丝袜| 亚洲欧美日韩精品| 色偷偷888欧美精品久久久| 日韩成人激情影院| 91精品在线一区| 米奇精品一区二区三区在线观看| 精品久久久久久久久久久| 久久九九精品99国产精品| 国产亚洲精品久久| 啊v视频在线一区二区三区| 成人av资源在线播放| 欧美性jizz18性欧美| 午夜免费日韩视频| 欧美激情视频三区| 欧美激情高清视频| 精品福利樱桃av导航| 欧美在线免费看| 91sa在线看| 日韩久久免费电影| 日韩中文字幕在线视频| 欧美激情第6页| 欧美成人剧情片在线观看| 色多多国产成人永久免费网站| 国产一区二区久久精品| 亚洲最大的免费| 亚洲一区二区国产| 欧美成年人网站| 欧洲亚洲免费视频| 亚洲性日韩精品一区二区| 国产欧美日韩91| 97视频在线播放| 亚洲电影成人av99爱色| 人人做人人澡人人爽欧美| 欧美老肥婆性猛交视频| 91精品久久久久久久久久久久久| 久久久国产影院| 久久久久亚洲精品成人网小说| 69国产精品成人在线播放| 亚洲综合一区二区不卡| 亚洲最新av网址| 国产精品一区二区性色av| 欧美日韩视频在线| 国产91对白在线播放| 国产精品中文字幕在线| 992tv成人免费视频| 久久免费视频这里只有精品| 亚洲欧美日本精品| 国产精品一区二区3区| 2019亚洲男人天堂| 久久精品亚洲精品| 欧美最顶级丰满的aⅴ艳星| 国产日本欧美一区二区三区在线| 国产精品高清在线| 亚洲欧美在线免费观看| 欧美巨乳美女视频| 国产福利视频一区二区| 国产欧美韩国高清| 欧美日韩中文在线| 国产精品∨欧美精品v日韩精品| 欧美日韩综合视频网址| 欧美xxxx18性欧美| 亚洲www永久成人夜色| 影音先锋欧美精品| 国模吧一区二区三区| 欧美福利视频网站| 亚洲人成人99网站| 亚洲欧美另类国产| 中文字幕亚洲国产| 久久九九有精品国产23| 日本中文字幕久久看| 国产精品久久久久久久久久久不卡| 最好看的2019年中文视频| 精品日韩视频在线观看| 一区二区在线视频播放| 久久久久久成人精品| 欧美黑人巨大精品一区二区| 国产成人鲁鲁免费视频a| 国产精品欧美一区二区| 亚洲欧美另类人妖| 亚洲欧美国产va在线影院| 精品视频在线观看日韩| 亚洲天堂网在线观看| 国产97在线视频| 亚洲福利视频二区| 欧日韩在线观看| 日韩欧美在线第一页| 自拍偷拍亚洲欧美| 色哟哟亚洲精品一区二区| 国产一区玩具在线观看| 欧美一级淫片丝袜脚交| 中文字幕在线看视频国产欧美在线看完整| 91成人福利在线| 国产精品视频在线播放| 国产丝袜高跟一区| 亚洲视频精品在线| 亚洲精品999| 一区二区三区四区精品| 欧美午夜电影在线| 亚洲成色777777女色窝| 国产精品久久久久久久久久久久| 色av中文字幕一区| 日本精品va在线观看| 91成人免费观看网站| 91探花福利精品国产自产在线| 国产日韩精品在线播放| 亚洲午夜精品久久久久久久久久久久| 亚洲最大中文字幕| 亚洲国产欧美一区二区丝袜黑人| 亚洲free性xxxx护士白浆| 久久天天躁狠狠躁夜夜躁2014| 久久免费成人精品视频|