diff options
author | Chris "Koying" Browet <cbro@semperpax.com> | 2014-01-28 14:43:19 +0100 |
---|---|---|
committer | Chris "Koying" Browet <cbro@semperpax.com> | 2014-01-30 17:52:48 +0100 |
commit | 5ec7f16646c7a4b4f767ec79a5420e863c3616f6 (patch) | |
tree | 59a8960cedab66aac3c0fc3b184377430f3e85e4 | |
parent | b6d31a3f32ea69f948ff4d020741ee1b986b1544 (diff) |
FIX: [mysql] force utf8 when creating db and temp tables
-rw-r--r-- | xbmc/dbwrappers/mysqldataset.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xbmc/dbwrappers/mysqldataset.cpp b/xbmc/dbwrappers/mysqldataset.cpp index 436f564878..523e621511 100644 --- a/xbmc/dbwrappers/mysqldataset.cpp +++ b/xbmc/dbwrappers/mysqldataset.cpp @@ -155,7 +155,7 @@ int MysqlDatabase::connect(bool create_new) { char sqlcmd[512]; int ret; - sprintf(sqlcmd, "CREATE DATABASE `%s`", db.c_str()); + sprintf(sqlcmd, "CREATE DATABASE `%s` CHARACTER SET utf8 COLLATE utf8_general_ci", db.c_str()); if ( (ret=query_with_reconnect(sqlcmd)) != MYSQL_OK ) { throw DbErrors("Can't create new database: '%s' (%d)", db.c_str(), ret); @@ -250,7 +250,7 @@ int MysqlDatabase::copy(const char *backup_name) { } // create the new database - sprintf(sql, "CREATE DATABASE `%s`", backup_name); + sprintf(sql, "CREATE DATABASE `%s` CHARACTER SET utf8 COLLATE utf8_general_ci", backup_name); if ( (ret=query_with_reconnect(sql)) != MYSQL_OK ) { mysql_free_result(res); @@ -1375,7 +1375,8 @@ int MysqlDataset::exec(const string &sql) { } // force the charset and collation to UTF-8 - if ( ci_find(qry, "CREATE TABLE") != string::npos ) + if ( ci_find(qry, "CREATE TABLE") != string::npos + || ci_find(qry, "CREATE TEMPORARY TABLE") != string::npos ) { qry += " CHARACTER SET utf8 COLLATE utf8_general_ci"; } |