[問題] 有關JSP接收手機參數問題

看板AndroidDev作者 (尋風)時間12年前 (2011/12/14 17:15), 編輯推噓5(5017)
留言22則, 5人參與, 最新討論串1/1
JAVA碼 String code=cin.toString(); String uriAPI = "http://XXX.XXX.XXX.XXX:8070/mysql.jsp"; HttpPost httpRequest = new HttpPost(uriAPI); List <NameValuePair> p = new ArrayList <NameValuePair>(); p.add(new BasicNameValuePair("number",code)); HttpResponse httpResponse = null; try { httpRequest.setEntity(new UrlEncodedFormEntity(p,HTTP.UTF_8)); httpResponse = new DefaultHttpClient().execute(httpRequest); 以下省略 } JSP String number =request.getParameter("number"); 如果我在網頁上打http://XXX.XXX.XXX.XXX:8070/mysql.jsp?number=XXXXXXX的話 是可以在網頁上看到結果 可是當我用模擬器測試時候 卻發現無法接收從手機傳送的參數(也就是number) 是因為編碼問題嗎? 網路確定有開啟 懇請各位指教QQ... 我嘗試顯示傳送進去的數字 在網頁的網址上 我只要打NUMBER=123 網頁也會顯示123 但是在手機上就是亂碼 囧... 出現啥android.widxxxx = = out.println(number); 我是用這樣的輸出方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.219.175

12/14 17:30, , 1F
對了 我的參數是數字不是字元...
12/14 17:30, 1F

12/14 20:53, , 2F
似乎知道問題點了 手機傳過去的值似乎變成亂碼...
12/14 20:53, 2F

12/14 20:53, , 3F
不過我該用哪種編碼呢?
12/14 20:53, 3F

12/14 20:53, , 4F
目前我只傳數字...
12/14 20:53, 4F

12/14 20:59, , 5F
你不是已經用utf_8了嗎@.@?
12/14 20:59, 5F

12/14 20:59, , 6F
傳數字怎麼會是亂碼
12/14 20:59, 6F
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 21:14) ※ 編輯: bass0216 來自: 114.34.219.175 (12/14 21:19)

12/14 22:42, , 7F
出現啥android.widxxxx <=這應該不是亂碼吧...
12/14 22:42, 7F
android.widget.EdidText@405"XXXXX" X那邊都是亂碼 而前面的那些我也不知道怎會出現= = 如果有需要完整程式碼的話 我可以個PO上 現在就是單純"網頁"上可以顯示正常數字 但是傳回手機就是變成上面那樣-.-...

12/14 22:44, , 8F
把你的例子,弄到最小,並且可以reproduce再來問吧。
12/14 22:44, 8F
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 22:53)

12/14 22:56, , 9F
要印 number.getText() 吧,你印 widget 做什?
12/14 22:56, 9F

12/14 23:05, , 10F
樓上大大是指說jsp那邊修改嗎?
12/14 23:05, 10F
其實我目前是想做一個從手機輸入 接著傳送到WEB-SERVER再傳回手機顯示 因為我在做資料庫查詢時 發現傳送過去的參數好像不對 所以想做這個來測試一下= = 沒想到這個也會失敗 ※ 編輯: bass0216 來自: 114.34.219.175 (12/14 23:08)

12/14 23:14, , 11F
你 android 傳的時候就不對了。你把 widget instance 轉成
12/14 23:14, 11F

12/14 23:14, , 12F
字串直接給 jsp 了吧。
12/14 23:14, 12F

12/14 23:14, , 13F
你用 debugger 觀察一下是不是這樣。
12/14 23:14, 13F

12/14 23:20, , 14F
final EditText cin = (EditText)findViewById(R.id.edit
12/14 23:20, 14F

12/14 23:21, , 15F
Text1); 過去 把輸入格裡面的文字傳過去 應該是不會發生
12/14 23:21, 15F

12/14 23:33, , 16F
String code=cin.toString();這行就錯了吧。用『debugger』
12/14 23:33, 16F

12/14 23:33, , 17F
好好地檢查它的內容。
12/14 23:33, 17F

12/14 23:42, , 18F
好的 我看看
12/14 23:42, 18F

12/14 23:43, , 19F
p.add(new BasicNameValuePair("number",code));
12/14 23:43, 19F

12/14 23:44, , 20F
但是這行需要我傳STRING過去...
12/14 23:44, 20F

12/14 23:54, , 21F
感謝 已完成 cin.getEditableText().toString();
12/14 23:54, 21F

12/15 05:17, , 22F
你要不要先把JAVA API看熟
12/15 05:17, 22F
文章代碼(AID): #1Ew6aUWZ (AndroidDev)