[問題]請問在js中,中文變數值的傳遞??

看板Ajax作者 (Eric Chang)時間14年前 (2011/06/14 13:55), 編輯推噓0(0024)
留言24則, 3人參與, 最新討論串1/1
由於工作需要,東拼西湊的寫了一支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

06/15 09:31, , 1F
在javascript 這邊 先把encodeURIComponent(selectedValue)
06/15 09:31, 1F

06/15 09:32, , 2F
的值 貼上來 cname傳進去的中文也貼上來
06/15 09:32, 2F

06/15 09:37, , 3F
encodeURIComponent 產生的是三個 utf-8碼 %aa%bb%cc
06/15 09:37, 3F

06/15 09:39, , 4F
比對 在還沒送到asp之前 myurl值和asp抓到的值 才能解答
06/15 09:39, 4F

06/15 11:22, , 5F
myurl抓到是正確的%aa%bb%cc/ASP抓到的就是上面貼的亂碼
06/15 11:22, 5F

06/15 14:55, , 6F
那這樣直接把myurl 貼在瀏覽器上出現什麼
06/15 14:55, 6F

06/15 15:00, , 7F
Request.QueryString("cname") 是經過asp抓出來的
06/15 15:00, 7F

06/15 15:01, , 8F
有沒有辦法在asp抓完整沒經過處理的querystring
06/15 15:01, 8F

06/15 15:04, , 9F
這跟換不換頁沒關係阿 都已經編碼了 還能變亂碼
06/15 15:04, 9F

06/16 00:56, , 10F
前端編碼,後端解碼…看起來你只做了上半部
06/16 00:56, 10F

06/16 14:49, , 11F
我就是想問說要怎麼解碼?
06/16 14:49, 11F

06/16 14:52, , 13F
06/16 14:52, 13F

06/16 14:53, , 14F
以上兩個分別是用decodeuri & encodeuri 產生的
06/16 14:53, 14F

06/16 14:56, , 15F
銝剝裆 這是Querystring接到的
06/16 14:56, 15F

06/16 16:33, , 16F
網頁連結進不去歐 這問題很明顯是server端
06/16 16:33, 16F

06/16 16:34, , 17F
要不就是你Request.QueryString("cname")讀出來之後
06/16 16:34, 17F

06/16 16:39, , 18F
你是怎麼看到 銝剝的 先不要用網頁出來 先存到文字檔看文字
06/16 16:39, 18F

06/16 16:41, , 19F
第二就是Request.QueryString("cname")是一個asp的方法
06/16 16:41, 19F

06/16 16:44, , 20F
他是依照asp server的設定 可能是在.ini檔裡 來轉字元y
06/16 16:44, 20F

06/16 16:45, , 21F
所以可能要檢查一下你的.ini檔 裡面有沒有 charset之類的值
06/16 16:45, 21F

06/16 17:11, , 22F
若不在ini定 程式裡加上<% Session.CodePage=65001 %>
06/16 17:11, 22F

06/16 17:12, , 23F
<% Response.CharSet="utf-8" %> 應該可以吧
06/16 17:12, 23F

06/16 17:13, , 24F
可能請教asp的人會比較好
06/16 17:13, 24F
文章代碼(AID): #1DzlVcDd (Ajax)
文章代碼(AID): #1DzlVcDd (Ajax)