作者bass0216 (尋風)
看板AndroidDev
標題[問題] 有關JSP接收手機參數問題
時間Wed Dec 14 17:15:06 2011
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
1F:→ bass0216:對了 我的參數是數字不是字元... 12/14 17:30
2F:→ bass0216:似乎知道問題點了 手機傳過去的值似乎變成亂碼... 12/14 20:53
3F:→ bass0216:不過我該用哪種編碼呢? 12/14 20:53
4F:→ bass0216:目前我只傳數字... 12/14 20:53
5F:→ tn00364477:你不是已經用utf_8了嗎@.@? 12/14 20:59
6F:推 nvidia:傳數字怎麼會是亂碼 12/14 20:59
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 21:14)
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 21:19)
7F:→ blueoick:出現啥android.widxxxx <=這應該不是亂碼吧... 12/14 22:42
android.widget.EdidText@405"XXXXX"
X那邊都是亂碼 而前面的那些我也不知道怎會出現= =
如果有需要完整程式碼的話 我可以個PO上
現在就是單純"網頁"上可以顯示正常數字 但是傳回手機就是變成上面那樣-.-...
8F:推 qrtt1:把你的例子,弄到最小,並且可以reproduce再來問吧。 12/14 22:44
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 22:53)
9F:→ qrtt1:要印 number.getText() 吧,你印 widget 做什? 12/14 22:56
10F:→ bass0216:樓上大大是指說jsp那邊修改嗎? 12/14 23:05
其實我目前是想做一個從手機輸入
接著傳送到WEB-SERVER再傳回手機顯示
因為我在做資料庫查詢時
發現傳送過去的參數好像不對
所以想做這個來測試一下= =
沒想到這個也會失敗
※ 編輯: bass0216 來自: 114.34.219.175 (12/14 23:08)
11F:推 qrtt1:你 android 傳的時候就不對了。你把 widget instance 轉成 12/14 23:14
12F:→ qrtt1:字串直接給 jsp 了吧。 12/14 23:14
13F:→ qrtt1:你用 debugger 觀察一下是不是這樣。 12/14 23:14
14F:→ bass0216:final EditText cin = (EditText)findViewById(R.id.edit 12/14 23:20
15F:→ bass0216:Text1); 過去 把輸入格裡面的文字傳過去 應該是不會發生 12/14 23:21
16F:推 qrtt1:String code=cin.toString();這行就錯了吧。用『debugger』 12/14 23:33
17F:→ qrtt1:好好地檢查它的內容。 12/14 23:33
18F:→ bass0216:好的 我看看 12/14 23:42
19F:→ bass0216:p.add(new BasicNameValuePair("number",code)); 12/14 23:43
20F:→ bass0216:但是這行需要我傳STRING過去... 12/14 23:44
21F:→ bass0216:感謝 已完成 cin.getEditableText().toString(); 12/14 23:54
22F:推 nvidia:你要不要先把JAVA API看熟 12/15 05:17