看板 Ajax 關於我們 聯絡資訊
由於工作需要,東拼西湊的寫了一支java script 簡單說就是類似GOOGLE search 的auto complete的功能 然後這些提示字詞是從我的資料庫裡面去撈出來的客戶名稱 我的想法是USER點了這些提示過後的客戶名稱後 會傳到一個特定的ASP頁面,然後會依照這個客戶名稱去抓出完整的資料來。 現在的問題是,我在前面都已經寫好了,能夠抓到客戶名稱 然後我用 selectedValue = selectObj.options[selectObj.selectedIndex].text; var myurl="http:/com.tw/fayt_query.asp?cname=" + encodeURIComponent(selectedValue); parent.frames["functiondisplay"].location.href=myurl; 但是我在 fayt_query.asp這裡用Request.QueryString("cname") 去抓變數的時候,雖然有抓到,但是都是類似"?殓?蝬 "這樣的亂碼。 網路上都說可以用decodeURIComponent 去解回來 我也測試過,在同一個頁面中,是可以正確編碼再解碼。 但是我已經丟到下一個ASP去了,這時候要怎麼再用 decodeURICompenent去解呢? 還是有其他方法可以用?? -- 會當凌絕頂,一覽眾山小。 —— 杜甫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 173.0.50.12
sk1765:在javascript 這邊 先把encodeURIComponent(selectedValue) 06/15 09:31
sk1765:的值 貼上來 cname傳進去的中文也貼上來 06/15 09:32
sk1765:encodeURIComponent 產生的是三個 utf-8碼 %aa%bb%cc 06/15 09:37
sk1765:比對 在還沒送到asp之前 myurl值和asp抓到的值 才能解答 06/15 09:39
chang0206:myurl抓到是正確的%aa%bb%cc/ASP抓到的就是上面貼的亂碼 06/15 11:22
sk1765:那這樣直接把myurl 貼在瀏覽器上出現什麼 06/15 14:55
sk1765:Request.QueryString("cname") 是經過asp抓出來的 06/15 15:00
sk1765:有沒有辦法在asp抓完整沒經過處理的querystring 06/15 15:01
sk1765:這跟換不換頁沒關係阿 都已經編碼了 還能變亂碼 06/15 15:04
grence:前端編碼,後端解碼…看起來你只做了上半部 06/16 00:56
chang0206:我就是想問說要怎麼解碼? 06/16 14:49
chang0206:http://tw/fayt_query.asp?cname=中鋼 06/16 14:52
chang0206:以上兩個分別是用decodeuri & encodeuri 產生的 06/16 14:53
chang0206:銝剝裆 這是Querystring接到的 06/16 14:56
sk1765:網頁連結進不去歐 這問題很明顯是server端 06/16 16:33
sk1765:要不就是你Request.QueryString("cname")讀出來之後 06/16 16:34
sk1765:你是怎麼看到 銝剝的 先不要用網頁出來 先存到文字檔看文字 06/16 16:39
sk1765:第二就是Request.QueryString("cname")是一個asp的方法 06/16 16:41
sk1765:他是依照asp server的設定 可能是在.ini檔裡 來轉字元y 06/16 16:44
sk1765:所以可能要檢查一下你的.ini檔 裡面有沒有 charset之類的值 06/16 16:45
sk1765:若不在ini定 程式裡加上<% Session.CodePage=65001 %> 06/16 17:11
sk1765:<% Response.CharSet="utf-8" %> 應該可以吧 06/16 17:12
sk1765:可能請教asp的人會比較好 06/16 17:13