Java和MySql为该类设置unicode字符

问题描述 投票:0回答:1

我正在尝试将 unicode 字符(希腊语)输入到我的数据库中。不过我读到,为了做到这一点,我必须将 unicode 字符设置为活动状态。如何将特定类的字符集设置为 unicode?

public class database {

    public static database busDatabase = null;

    protected String connection_url = "";
    protected String driver_name = "";
    protected String name = "";
    protected String user = "";
    protected String password = "";
    protected Class driver_class = null;
    protected static Connection connection = null;
    protected ResultSet results = null;
    protected String current_table = "";
    protected Boolean error = false;

    public database(String name, String user, String password) {
               this(name, user, password, "jdbc:mysql://localhost:3306", "com.mysql.jdbc.Driver");
  }
  
   //public void run() {
  //   con =  (Connection)DriverManager.getConnection(connection_url, user, password);
 //}
   
  public static Boolean getCon() throws SQLException
  {
      return  connection.isValid(0); 
  }

  public database(String name, String user, String password, String connection_url, String driver_name)
  {
    this.name           = name;
    this.user           = user;
    this.password       = password;
    this.connection_url = connection_url;
    this.driver_name    = driver_name;
  }

  public static void openBusDatabase()
  {
    try
    {
     busDatabase = new database("appointments", "root",
              "some", "jdbc:mysql://localhost",
              "com.mysql.jdbc.Driver");
            busDatabase.open();
            System.out.println("dbopened");
        } catch (Exception ex) {
            throw new InvalidQueryException("Unable to open database " + ex.getMessage());
        }
    }
}
java mysql unicode
1个回答
0
投票

将参数作为布尔值传递,以根据您的要求动态建立连接。您还需要在数据库端进行编码,我希望它已经存在。

根据条件更改连接字符串。

改变

  "jdbc:mysql://localhost",

  "jdbc:mysql://localhost?useUnicode=true&characterSetResults=utf8&characterEncodi‌​ng=UTF-8",

可以选择指定排序规则,例如:

&connectionCollation=utf8_general_ci

© www.soinside.com 2019 - 2024. All rights reserved.