作者chang0206 (Eric Chang)
看板Ajax
標題[問題]請問在js中,中文變數值的傳遞??
時間Tue Jun 14 13:55:44 2011
由於工作需要,東拼西湊的寫了一支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
1F:→ sk1765:在javascript 這邊 先把encodeURIComponent(selectedValue) 06/15 09:31
2F:→ sk1765:的值 貼上來 cname傳進去的中文也貼上來 06/15 09:32
3F:→ sk1765:encodeURIComponent 產生的是三個 utf-8碼 %aa%bb%cc 06/15 09:37
4F:→ sk1765:比對 在還沒送到asp之前 myurl值和asp抓到的值 才能解答 06/15 09:39
5F:→ chang0206:myurl抓到是正確的%aa%bb%cc/ASP抓到的就是上面貼的亂碼 06/15 11:22
6F:→ sk1765:那這樣直接把myurl 貼在瀏覽器上出現什麼 06/15 14:55
7F:→ sk1765:Request.QueryString("cname") 是經過asp抓出來的 06/15 15:00
8F:→ sk1765:有沒有辦法在asp抓完整沒經過處理的querystring 06/15 15:01
9F:→ sk1765:這跟換不換頁沒關係阿 都已經編碼了 還能變亂碼 06/15 15:04
10F:→ grence:前端編碼,後端解碼…看起來你只做了上半部 06/16 00:56
11F:→ chang0206:我就是想問說要怎麼解碼? 06/16 14:49
14F:→ chang0206:以上兩個分別是用decodeuri & encodeuri 產生的 06/16 14:53
15F:→ chang0206:銝剝裆 這是Querystring接到的 06/16 14:56
16F:→ sk1765:網頁連結進不去歐 這問題很明顯是server端 06/16 16:33
17F:→ sk1765:要不就是你Request.QueryString("cname")讀出來之後 06/16 16:34
18F:→ sk1765:你是怎麼看到 銝剝的 先不要用網頁出來 先存到文字檔看文字 06/16 16:39
19F:→ sk1765:第二就是Request.QueryString("cname")是一個asp的方法 06/16 16:41
20F:→ sk1765:他是依照asp server的設定 可能是在.ini檔裡 來轉字元y 06/16 16:44
21F:→ sk1765:所以可能要檢查一下你的.ini檔 裡面有沒有 charset之類的值 06/16 16:45
22F:→ sk1765:若不在ini定 程式裡加上<% Session.CodePage=65001 %> 06/16 17:11
23F:→ sk1765:<% Response.CharSet="utf-8" %> 應該可以吧 06/16 17:12
24F:→ sk1765:可能請教asp的人會比較好 06/16 17:13