首先是后台serlvet代码,response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String username=request.getParameter("username");byte b[] =username.getBytes("ISO-8859-1");
username=new String(b);//后面就是调用方法将username写如数据库
到此时,直接在浏览器上输入http://localhost:8080/工程名/servlet/对应的servlet?username=“中文",在数据库中正确显示了中文,因为这里已经转换了一遍,如果把byte b改成其它编码格式就会出现中文乱码问题,
然后这是android前台的代码,//获取了个中文username
String urlstr=“http://localhost:8080/工程名/servlet/对应的servlet?”+username;URL url=new URL(urlstr);URLConnection conn = null;conn = url.openConnection(urlstr);InputStream in=conn.getInputStream();byte[] buffer=new byte[in.available()];
in.read(buffer);String result=new String(buffer);首先调试的时候,输入英文,可以写入数据库,证明程序无错误,但是输入中文的时候,数据库就产生了中文编码问题,于是将前台获得的username用同样的方法转换(byte b[] =username.getBytes("ISO-8859-1");)结果发现,无论前台是转换成ISO-8859-1或者UTF-8,后台写入的数据库还是出现了中文乱码问题,求问大神们有没有写过,该怎么解决。
PrintWriter out = response.getWriter();
String username=request.getParameter("username");byte b[] =username.getBytes("ISO-8859-1");
username=new String(b);//后面就是调用方法将username写如数据库
到此时,直接在浏览器上输入http://localhost:8080/工程名/servlet/对应的servlet?username=“中文",在数据库中正确显示了中文,因为这里已经转换了一遍,如果把byte b改成其它编码格式就会出现中文乱码问题,
然后这是android前台的代码,//获取了个中文username
String urlstr=“http://localhost:8080/工程名/servlet/对应的servlet?”+username;URL url=new URL(urlstr);URLConnection conn = null;conn = url.openConnection(urlstr);InputStream in=conn.getInputStream();byte[] buffer=new byte[in.available()];
in.read(buffer);String result=new String(buffer);首先调试的时候,输入英文,可以写入数据库,证明程序无错误,但是输入中文的时候,数据库就产生了中文编码问题,于是将前台获得的username用同样的方法转换(byte b[] =username.getBytes("ISO-8859-1");)结果发现,无论前台是转换成ISO-8859-1或者UTF-8,后台写入的数据库还是出现了中文乱码问题,求问大神们有没有写过,该怎么解决。
String urlstr=“http://localhost:8080/工程名/servlet/对应的servlet?”+username;
URL url=new URL(urlstr);
URLConnection conn = null;
conn = url.openConnection(urlstr);
InputStream in=conn.getInputStream();
byte[] buffer=new byte[in.available()];
in.read(buffer);
String result=new String(buffer);
对中文部分进行转码
UrlEncoder.encode(str,"utf-8");
String UrlStr = "http://192.168.1.110:8080/mp3/"+URLEncoder.encode(测试.mp3,"UTF-8");
try {
URL url = new URL(UrlStr);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
inputStream =urlConn.getInputStream();
} catch (Exception e) {
e.printStackTrace();
}