Android HttpURLConnection上的URL字符串

Android HttpURLConnection上的URL字符串,android,unicode,httpurlconnection,Android,Unicode,Httpurlconnection,考虑一下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="); /

考虑一下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)。但如果我在web浏览器中使用google地图站点中的字符串,它会返回良好的结果。我也尝试使用URLEncoder,但我也失败了

你有什么建议吗?

你应该使用

示例

urlString.append(URLEncoder.encode(dest, "utf-8"));

编辑:别忘了你应该只对参数使用它,而不是整个url。

我的问题是unicoded表情文字不能正确地进入服务器,这很有帮助。非常感谢。