mysql中文问题的解决

2016-02-19 19:19 7 1 收藏

下面图老师小编要向大家介绍下mysql中文问题的解决,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.util;

import java.io.UnsupportedEncodingException;
import java.sql.*;

/**
*
* @author swing
*/
public class DbUtility {

    private Connection conn = null;
    private ResultSet set = null;
    private Statement st = null;
    // 数据库连接使用的参数;
    private String DBUrl = "jdbc:mysql://localhost/acctest?useUnicode=true&characterEncoding=gbk";
   //这里使用编码就可以解决mysql中文问题,其他得不需要设置
    private String DBUser = "root";// 用户名
    private String DBPass = "root";// 密码
    private String DBDriver = "org.gjt.mm.mysql.Driver";// mysql驱动
    public DbUtility() {

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

    }
    //获取数据库连接
    public Connection getAConnection(String DBDriver, String DBUrl, String DBUser, String DBPass) {
        try {
            Class.forName(DBDriver).newInstance();
        } catch (Exception e) {
            System.out.println("没有安装Mysql Java Connector或类路径未设置正确:   " + e);
            return null;
        }
        try {
            conn = DriverManager.getConnection(DBUrl, DBUser, DBPass);
        } catch (SQLException e) {
            System.out.println("com.util.DbUtility.getAConnection:数据库错误:   " + e);
            return null;
        }
        return conn;
    }
    //insert or update table
    public boolean execute(String sql) throws UnsupportedEncodingException {
        conn = getAConnection(DBDriver, DBUrl, DBUser, DBPass);
        if (conn == null) {
            System.out.println("连接数据库失败");
            return false;
        }
        try {
            st = conn.createStatement();
            st.execute(sql);
            st.close();
            conn.close();
            conn = null;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

        } catch (SQLException e) {
            System.out.println("database error:" + e.getMessage());
            return false;

        }
        return true;
    }

    /**
     * Description : 执行查询语句
     *
     * @param sql
     *            sql查询语句
     * @return set ResultSet形式的查询结果,
     */
    public ResultSet query(String sql) {
        // 建立连接
        conn = getAConnection(DBDriver, DBUrl, DBUser, DBPass);
        if (conn == null) {
            System.out.println("连接数据库失败");
            return null;
        }
      
        try {
            st = conn.createStatement();
            return st.executeQuery(sql);

        } catch (SQLException e) {
            System.out.println("database error:" + e.getMessage());
            return null;
        }

    }

    /**
     * Description : 调用查询语句后关闭连接
     *
     * @return 1 成功关闭连接
     */
    public int close() {
        try {
            if (set != null) {
                set.close();
            }
            if (st != null) {
                st.close();
            }
            if (conn != null) {
                conn.close();
            }
            return 1;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    }
}

来源:http://www.tulaoshi.com/n/20160219/1620723.html

延伸阅读
一. 方法1 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。 出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写...
标签: PHP
 从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。 MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字...
第一个方法: MySQL 4.1 中文乱码的问题 最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下见解对大家有用。 1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念。 2. 在 MySQL 4.0 ,一般的程式都会将文字以拉丁文 ( latin) 来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字栏...
无法通过mysql proxy连接mysql 在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有 PLAIN TEXT CODE: 代码如下: old_password = 1 有的数据库是从老版本升级上来的,所以会开启这个选项,mysql proxy不支持old_password。另外也可以通过查看密码长...
    问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用S...

经验教程

459

收藏

23
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部