Character set 'utf8mb3' is not supported by .Net Framework - MySQL 8.0.29.0
Closed this issue · 10 comments
TrinityCore - WowPacketParser
Detected build: V9_2_0_43345
Detected locale: enUS
Targeted database: Shadowlands
Parsing date: 05/26/2022 13:35:21
Using SSL version: OpenSSL 1.1.1o 3 May 2022 (library: OpenSSL 1.1.1o 3 May 2022)
Using Boost version: 1.79.0
Using Windows 11 Pro 21H2
Using MySQL 8.0.29.0
WowPacketParser.dll.config.txt
The given key '0' was not present in the dictionary.
System.NotSupportedException
Character set 'utf8mb3' is not supported by .Net Framework.
at MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String charSetName)
at MySql.Data.MySqlClient.MySqlField.SetFieldEncoding()
at MySql.Data.MySqlClient.MySqlField.set_CharacterSetIndex(Int32 value)
at MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
at MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns)
at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.Close()
at MySql.Data.MySqlClient.MySqlCommand.ResetReader()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at WowPacketParser.SQL.SQLDatabase.LoadBroadcastText() in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLDatabase.cs:line 132
at WowPacketParser.SQL.SQLDatabase.LoadSQL() in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLDatabase.cs:line 106
at WowPacketParser.SQL.SQLConnector.ReadDB() in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLConnector.cs:line 111
Finished loading DB in 00:00:00.662.
40/78 - Error: Failed writing Creature
WowPacketParser Error: 0 : MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset.
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset.
---> MySql.Data.MySqlClient.MySqlException (0x80004005): Expected end of data packet
at MySql.Data.MySqlClient.NativeDriver.CheckEOF()
at MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
at MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
at MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at WowPacketParser.SQL.SQLUtil.GetDefaultObject[T]() in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLUtil.cs:line 771
at WowPacketParser.SQL.Builders.Spawns.Creature(Dictionary`2 units) in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\Builders\Spawns.cs:line 54
43/78 - Write CreatureTemplateAddon
43/78 - Error: Failed writing CreatureTemplateAddon
WowPacketParser Error: 0 : System.InvalidOperationException: Connection must be valid and open.
at MySql.Data.MySqlClient.Interceptors.ExceptionInterceptor.Throw(Exception exception)
at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.Throw(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.CheckState()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at WowPacketParser.SQL.SQLUtil.GetDefaultObject[T]() in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLUtil.cs:line 771
at WowPacketParser.SQL.Builders.UnitMisc.CreatureTemplateAddon(Dictionary`2 units) in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\Builders\UnitMisc.cs:line 29
54/78 - Write CreatureTemplateNonWDB
54/78 - Error: Failed writing CreatureTemplateNonWDB
WowPacketParser Error: 0 : System.InvalidOperationException: Connection must be valid and open.
at MySql.Data.MySqlClient.Interceptors.ExceptionInterceptor.Throw(Exception exception)
at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.Throw(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.CheckState()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at WowPacketParser.SQL.SQLDatabase.GetDict[T,TK](String query) in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\SQLDatabase.cs:line 310
at WowPacketParser.SQL.Builders.UnitMisc.CreatureTemplateNonWDB(Dictionary`2 units) in I:\WoW Tools\WowPacketParser\WowPacketParser\SQL\Builders\UnitMisc.cs:line 538
Cant reproduce works perfect for me is ure db issue look Character set 'utf8mb3' is not supported
Cant reproduce works perfect for me is ure db issue look Character set 'utf8mb3' is not supported
Where do I change that configuration in MySQL?
Which one does it support?
right click on db , edit , change collation i use utf8 bin
or u can send me dm in discord nad i show how to do step by step
right click on db , edit , change collation i use utf8 bin
There is no utf8 bin option in MySQL 8.0.29.0.
iirc utf8 (aka utf8mb3) is deprecated in some MySQL version of 8.0->
Test to change the collatiom to utf8mb4 and see if that fixes your issue
Master runs in utf8mb4 on default.
Master runs in utf8mb4 on default.
On new installations it does but I might have forgotten to include conversion on database level, only did each table)
Try updating the mysql.data connector nuget package to the latest version. Support for that charset was added in the 8.0.29 connector.