首页 > 技术文章 > android开发中 解决服务器端解析MySql数据时中文显示乱码的情况

cuixiaodong427 2013-06-29 20:31 原文

首先,还是确认自己MySql账户和密码

1.示例  账户:root   密码:123456   有三个字段   分别是_id  、username(插入有中文数据)、password

1)首先我们知道我们的MySql一般默认的编码类型是gdb,也就是latin1编码。因为我们有时候插入表中的数据是中文的格式,所以我们一般都是默认的这种方式。

2)在我们的服务器端解析显示MySql数据就一定要使用

 1 package com.test.an;
 2 
 3 import java.io.UnsupportedEncodingException;
 4 import java.sql.Connection;
 5 import java.sql.DriverManager;
 6 import java.sql.PreparedStatement;
 7 import java.sql.ResultSet;
 8 import java.sql.SQLException;
 9 
10 
11 public class TestCon1{
12     public static void main(String[] args) throws UnsupportedEncodingException 
13     {
14         Connection con = null;
15         String sql;
16         PreparedStatement pre;
17         ResultSet rs;
18         
19         try {
20             String driver="com.mysql.jdbc.Driver";
21             Class.forName(driver);
22             
23             String url="jdbc:mysql://localhost:3306/cui?useUnicode=true&characterEncoding=latin1";
24             con = DriverManager.getConnection(url, "root", "123456");
25             
26             sql = "select _id,username,password from test1" ;
27             pre = con.prepareStatement(sql);
28             
29             rs = pre.executeQuery(); 
30             while(rs.next()){
31                 int id = rs.getInt(1);
32                 String username =new String(rs.getString(2).getBytes("iso8859-1"));
33                 String password = rs.getString(3);
34                 
35                 System.out.println("id="+id+";username="+username+";password="+password);
36             }
37             con.close();
38         } catch (SQLException e) {
39             e.printStackTrace();
40         } catch (ClassNotFoundException e) {
41             e.printStackTrace();
42         }
43         
44     }
45 
46 }

 

推荐阅读