kk_lee69 发表于 2011-11-13 23:33:53

[已解決]編碼問題請教.....IE 網頁通訊的過程 所用的一種編碼

本帖最后由 kk_lee69 于 2011-11-14 22:16 编辑

請問各位:

商品到貨訊息這幾個字在網頁裡面 跟主機溝通的時候 傳輸的資料如下:
%E5%95%86%E5%93%81%E5%88%B0%E8%B2%A8%E8%A8%8A%E6%81%AF

請問這是用什麼編碼 .... 我要怎樣才能把 一大段的文字都轉成上面的哪種編碼呢??

dition 发表于 2011-11-14 00:25:54

请参考此贴

http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=4157&pid=27697&fromuid=7656153

happytc 发表于 2011-11-14 00:31:34

本帖最后由 happytc 于 2011-11-14 00:44 编辑

回复 1# kk_lee69

我曾研究过这个玩意

情况比较复杂,并没有一个统一的编码。依据的操作系统语言,网页请求类型,所使用的浏览器,所请求的网页编码等不同而不同的。

比如在简体中文系统上,用IE输入URL:http://zh.wikipedia.org/wiki/春节
查看HTTP请求的头信息,会发现IE实际查询的网址是“http://zh.wikipedia.org/wiki/%E6%98%A5%E8%8A%82”。也就是说,IE自动将“春节”编码成了“%E6%98%A5%E8%8A%82”
而‘春节’的utf-8编码分别是“E6 98 A5”和“E8 8A 82”,因此,“%E6%98%A5%E8%8A%82”就是按照顺序,在每个字节前加上%而得到的。

又如,在Google上查讯‘春节’:http://www.google.com.hk/search?hl=zh-CN&q=春节
(注意这里的‘春节’属于查询字符串,不属于网址路径URL)
在简体中文系统上地址会显示:http://www.google.com.hk/search?hl=zh-CN&q=%B4%BA%BD%DA
其实这里的B4 BA BD DA就是‘春节’的GB2312编码而已(在每个字节前加上了%)

再如,对网页进行GET和POST提交,其编码的方法却又是该网页指定的编码

当然你还可以不用管什么操作系统,什么本地语言,什么浏览器等等,都统一用Javascript来进行编码,Javascipt函数的输入和输出,默认都是Unicode字符。

-------------------------------------------------------------------------------
那回到问题的本质,为什么要进行转码呢?
主要是RFC 1738标准对此做了硬性规定所致(http://www.ietf.org/rfc/rfc1738.txt):只有英语字母,数字,一些特别符号(如:$-_.+!*'())才能直接用于URL,别的一律要转码

kk_lee69 发表于 2011-11-14 22:15:57

回复 3# happytc


    了解了 受益良多感謝
页: [1]
查看完整版本: [已解決]編碼問題請教.....IE 網頁通訊的過程 所用的一種編碼