【发布时间】:2012-02-14 20:35:24
【问题描述】:
考虑下面的 Android 应用代码;
private String GetDistance(String src, String dest) {
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.googleapis.com/maps/api/distancematrix/json?");
urlString.append("origins="); // **"ÇANKIRI,ÇERKEŞ,TURKEY"**
urlString.append(src);
urlString.append("&destinations="); // **"ANKARA,ALTINDAĞ,TURKEY"**
urlString.append(dest);
urlString.append("&mode=driving&sensor=false");
Log.d("xxx","URL="+urlString.toString());
// get the JSON And parse it to get the directions data.
HttpURLConnection urlConnection= null;
URL url = null;
//String urlStr = URLEncoder.encode(urlString.toString(), "utf-8");
//url = new URL(urlStr);
url = new URL(urlString.toString());
......
如果 src 和 dest 字符串包含 unicode 字符,则 google 距离矩阵服务将失败(状态返回为 NOT_FOUND)。但是,如果我在网络浏览器中使用谷歌地图站点中的字符串,它会返回良好的结果。我也尝试使用 URLEncoder,但我也失败了。
你有什么建议吗?
【问题讨论】:
标签: android unicode httpurlconnection