最近发现在使用Android进行网页的Get请求时发现如果Url中包含中文,那么在数据库端就会出现乱码的问题,但是如果将Url复制到浏览器中就不会出现问题,最终几经周折之后发现Url应该使用的是UTF-8的字符集,也就是如果直接在Url中使用中文就会出现神奇的乱码,下面提供一种解决方案。
String name = "忘情摆渡";
String url = "http://somewebset.com/getmethod?name=" + name;
这样在数据库一段就会出现乱码。
我的解决方案是将包含中文字符的部分全部转化成UTF,其他的不变,也不能变,如果将所有的url全都转换你会发现更不对,因为这个函数只会保留字母和少数的符号(不包括'/')。
String url = "http://somewebset.com/getmethod?name=" + Uri.encode(name);
就可以解决问题了。