您的位置:首页 > 移动开发 > Android开发

android开发中 解决服务器端解析MySql数据时中文显示乱码的情况

2013-06-29 20:31 1091 查看
首先,还是确认自己MySql账户和密码

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

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

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

package com.test.an;

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TestCon1{
public static void main(String[] args) throws UnsupportedEncodingException
{
Connection con = null;
String sql;
PreparedStatement pre;
ResultSet rs;

try {
String driver="com.mysql.jdbc.Driver";
Class.forName(driver);

String url="jdbc:mysql://localhost:3306/cui?useUnicode=true&characterEncoding=latin1";
con = DriverManager.getConnection(url, "root", "123456");

sql = "select _id,username,password from test1" ;
pre = con.prepareStatement(sql);

rs = pre.executeQuery();
while(rs.next()){
int id = rs.getInt(1);
String username =new String(rs.getString(2).getBytes("iso8859-1"));
String password = rs.getString(3);

System.out.println("id="+id+";username="+username+";password="+password);
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐