diff -r 0fe6ce0499d1 -r 999d29e113db core/smn_database.cpp --- a/core/smn_database.cpp Wed Jul 17 08:05:42 2013 -0400 +++ b/core/smn_database.cpp Thu Jul 18 10:27:12 2013 -0400 @@ -1407,6 +1407,23 @@ return hndl; } +static cell_t SQL_SetCharset(IPluginContext *pContext, const cell_t *params) +{ + IDatabase *db = NULL; + HandleError err; + + if ((err = g_DBMan.ReadHandle(params[1], DBHandle_Database, (void **)&db)) + != HandleError_None) + { + return pContext->ThrowNativeError("Invalid database Handle %x (error: %d)", params[1], err); + } + + char *characterset; + pContext->LocalToString(params[2], &characterset); + + return db->SetCharacterSet(characterset); +} + REGISTER_NATIVES(dbNatives) { {"SQL_BindParamInt", SQL_BindParamInt}, @@ -1448,6 +1465,7 @@ {"SQL_TQuery", SQL_TQuery}, {"SQL_UnlockDatabase", SQL_UnlockDatabase}, {"SQL_ConnectCustom", SQL_ConnectCustom}, + {"SQL_SetCharset", SQL_SetCharset}, {NULL, NULL}, };