C# 字符串值不正确:'\xD8\xA7\xD9\x84\xD8\xB9…&x27;对于列';显示名称';在第一排

C# 字符串值不正确:'\xD8\xA7\xD9\x84\xD8\xB9…&x27;对于列';显示名称';在第一排,c#,mysql,collation,aspnetboilerplate,asp.net-boilerplate,C#,Mysql,Collation,Aspnetboilerplate,Asp.net Boilerplate,我在运行服务器端代码时遇到以下异常 FATAL 2018-04-25 14:41:59757[1]Abp.Abp笔记本电脑 -Microsoft.EntityFrameworkCore.DbUpdateException:更新条目时出错。有关详细信息,请参见内部异常。--> MySql.Data.MySqlClient.MySqlException:字符串值不正确: 第1行“DisplayName”列的“\xD8\xA7\xD9\x84\xD8\xB9…” MySql.Data.MySqlCli

我在运行服务器端代码时遇到以下异常

FATAL 2018-04-25 14:41:59757[1]Abp.Abp笔记本电脑
-Microsoft.EntityFrameworkCore.DbUpdateException:更新条目时出错。有关详细信息,请参见内部异常。-->
MySql.Data.MySqlClient.MySqlException:字符串值不正确:
第1行“DisplayName”列的“\xD8\xA7\xD9\x84\xD8\xB9…”
MySql.Data.MySqlClient.MySqlException:字符串值不正确:
第1行的“DisplayName”列的“\xD8\xA7\xD9\x84\xD8\xB9…”
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaitable.GetResult()
在
MySqlConMyCompanytor.Core.ResultSet.d_u1.MoveNext()
在里面
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\Core\ResultSet.cs:line
43---内部异常堆栈跟踪的结束---at
MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(结果集
结果集)在
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
92 at
MySql.Data.MySqlClient.MySqlDataReader.d_u65.MoveNext()
在里面
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
297
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
MySql.Data.MySqlClient.MySqlDataReader.d_u64.MoveNext()
在里面
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
287
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
MySqlConMyCompanytor.Core.textcomandexecutor.d_u3.MoveNext()
在里面
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\Core\textcomandexecutor.cs:line
70
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior
(行为)在
C:\projects\mysqlconMyCompanytor\src\mysqlconMyCompanytor\MySql.Data.MySqlClient\MySqlCommand.cs:line
172 at
Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalCommand.d_u3.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalCommand.Execute(iRelationalConmyCompanyation
ConmyCompanyation,DbCommandMethod executeMethod,IReadOnlyDictionary`2
参数值)在
Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(iRelationalConmyCompanyation
ConmyCompanyation,IReadOnlyDictionary`2参数值)位于
Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(iRelationalConmyCompanyation
ConmyCompanyation)--内部异常堆栈跟踪的结束-----位于
Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(iRelationalConmyCompanyation
康米公司)
Microsoft.EntityFrameworkCore.Update.Internal.MySqlBatchExecutor.Execute(IEnumerable`1
commandBatches,iRelationalConmyCompanyation(合并合并合并)位于
Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IReadOnlyList`1
参赛作品)在
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1
(保存)在
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(布尔值
可接受的改变(成功)
Microsoft.EntityFrameworkCore.DbContext.SaveChanges(布尔值
可接受的改变(成功)
中的Abp.EntityFrameworkCore.AbpDbContext.SaveChanges()
D:\Github\aspnetboilerplate\src\Abp.EntityFrameworkCore\EntityFrameworkCore\AbpDbContext.cs:line
198 at
中的Abp.Zero.EntityFrameworkCore.AbpZeroCommonDbContext`3.SaveChanges()
D:\Github\aspnetboilerplate\src\Abp.ZeroCore.EntityFrameworkCore\Zero\EntityFrameworkCore\AbpZeroCommonDbContext.cs:line
154在
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguageCreator.AddLanguageIfNotExists(应用程序语言
(语言)在
C:\Users\MyName\Source\Workspace\Workspace\foodkioskssolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
59在
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguageCreator.CreateLanguages()
在里面
C:\Users\MyName\Source\Workspace\Workspace\foodkioskssolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
47在
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguageCreator.Create()
在里面
C:\Users\MyName\Source\Workspace\Workspace\foodkioskssolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
40分
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.InitialHostDbBuilder.Create()
在里面
C:\Users\MyName\Source\Workspace\Workspace\foodkioskssolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\InitialHostDbBuilder.cs:line
15在
MyCompany.MyProject.EntityFrameworkCore.Seed.SeedHelper.SeedHostDb(MyProjectDbContext
contex
FATAL 2018-04-25 14:41:59,757 [1    ] Abp.AbpBootstrapper             
- Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. --->
MySql.Data.MySqlClient.MySqlException: Incorrect string value:
'\xD8\xA7\xD9\x84\xD8\xB9...' for column 'DisplayName' at row 1 --->
MySql.Data.MySqlClient.MySqlException: Incorrect string value:
'\xD8\xA7\xD9\x84\xD8\xB9...' for column 'DisplayName' at row 1    at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)    at
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
at
MySqlConMyCompanytor.Core.ResultSet.<ReadResultSetHeaderAsync>d__1.MoveNext()
in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\Core\ResultSet.cs:line
43    --- End of inner exception stack trace ---    at
MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(ResultSet
resultSet) in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
92    at
MySql.Data.MySqlClient.MySqlDataReader.<ReadFirstResultSetAsync>d__65.MoveNext()
in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
297
--- End of stack trace from previous location where exception was thrown ---    at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)    at
MySql.Data.MySqlClient.MySqlDataReader.<CreateAsync>d__64.MoveNext()
in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\MySql.Data.MySqlClient\MySqlDataReader.cs:line
287
--- End of stack trace from previous location where exception was thrown ---    at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)    at
MySqlConMyCompanytor.Core.TextCommandExecutor.<ExecuteReaderAsync>d__3.MoveNext()
in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\Core\TextCommandExecutor.cs:line
70
--- End of stack trace from previous location where exception was thrown ---    at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)    at
MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior
behavior) in
C:\projects\mysqlconMyCompanytor\src\MySqlConMyCompanytor\MySql.Data.MySqlClient\MySqlCommand.cs:line
172    at
Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalCommand.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)    at
Microsoft.EntityFrameworkCore.Storage.Internal.MySqlRelationalCommand.Execute(IRelationalConMyCompanytion
conMyCompanytion, DbCommandMethod executeMethod, IReadOnlyDictionary`2
parameterValues)    at
Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConMyCompanytion
conMyCompanytion, IReadOnlyDictionary`2 parameterValues)    at
Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConMyCompanytion
conMyCompanytion)    --- End of inner exception stack trace ---    at
Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConMyCompanytion
conMyCompanytion)    at
Microsoft.EntityFrameworkCore.Update.Internal.MySqlBatchExecutor.Execute(IEnumerable`1
commandBatches, IRelationalConMyCompanytion conMyCompanytion)    at
Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IReadOnlyList`1
entries)    at
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1
entriesToSave)    at
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean
acceptAllChangesOnSuccess)    at
Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean
acceptAllChangesOnSuccess)    at
Abp.EntityFrameworkCore.AbpDbContext.SaveChanges() in
D:\Github\aspnetboilerplate\src\Abp.EntityFrameworkCore\EntityFrameworkCore\AbpDbContext.cs:line
198    at
Abp.Zero.EntityFrameworkCore.AbpZeroCommonDbContext`3.SaveChanges() in
D:\Github\aspnetboilerplate\src\Abp.ZeroCore.EntityFrameworkCore\Zero\EntityFrameworkCore\AbpZeroCommonDbContext.cs:line
154    at
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguagesCreator.AddLanguageIfNotExists(ApplicationLanguage
language) in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
59    at
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguagesCreator.CreateLanguages()
in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
47    at
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.DefaultLanguagesCreator.Create()
in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\DefaultLanguagesCreator.cs:line
40    at
MyCompany.MyProject.EntityFrameworkCore.Seed.Host.InitialHostDbBuilder.Create()
in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\Host\InitialHostDbBuilder.cs:line
15    at
MyCompany.MyProject.EntityFrameworkCore.Seed.SeedHelper.SeedHostDb(MyProjectDbContext
context) in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\SeedHelper.cs:line
25    at
MyCompany.MyProject.EntityFrameworkCore.Seed.SeedHelper.WithDbContext[TDbContext](IIocResolver
iocResolver, Action`1 contextAction) in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\SeedHelper.cs:line
41    at
MyCompany.MyProject.EntityFrameworkCore.Seed.SeedHelper.SeedHostDb(IIocResolver
iocResolver) in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\Seed\SeedHelper.cs:line
17    at
MyCompany.MyProject.EntityFrameworkCore.MyProjectEntityFrameworkModule.PostInitialize()
in
C:\Users\MyName\Source\Workspaces\Workspace\FoodKioskSolution\MyCompany.MyProject\src\MyCompany.MyProject.EntityFrameworkCore\EntityFrameworkCore\MyProjectEntityFrameworkModule.cs:line
46    at System.Collections.Generic.List`1.ForEach(Action`1 action)   
at Abp.AbpBootstrapper.Initialize() in
D:\Github\aspnetboilerplate\src\Abp\AbpBootstrapper.cs:line 155
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Abp.Localization;

namespace MyCompany.MyProject.EntityFrameworkCore.Seed.Host
{
    public class DefaultLanguagesCreator
    {
        public static List<ApplicationLanguage> InitialLanguages => GetInitialLanguages();

        private readonly SparDbContext _context;

        private static List<ApplicationLanguage> GetInitialLanguages()
        {
            return new List<ApplicationLanguage>
            {
                new ApplicationLanguage(null, "en", "English", "famfamfam-flags gb"),
                new ApplicationLanguage(null, "ar", "???????", "famfamfam-flags sa"),
                new ApplicationLanguage(null, "de", "German", "famfamfam-flags de"),
                new ApplicationLanguage(null, "it", "Italiano", "famfamfam-flags it"),
                new ApplicationLanguage(null, "fr", "Français", "famfamfam-flags fr"),
                new ApplicationLanguage(null, "pt-BR", "Portuguese", "famfamfam-flags br"),
                new ApplicationLanguage(null, "tr", "Türkçe", "famfamfam-flags tr"),
                new ApplicationLanguage(null, "ru", "???????", "famfamfam-flags ru"),
                new ApplicationLanguage(null, "zh-CN", "????", "famfamfam-flags cn"),
                new ApplicationLanguage(null, "es-MX", "Español México", "famfamfam-flags mx"),
                new ApplicationLanguage(null, "nl", "Nederlands", "famfamfam-flags nl"),
                new ApplicationLanguage(null, "ja", "???", "famfamfam-flags jp")
            };
        }

        public DefaultLanguagesCreator(SparDbContext context)
        {
            _context = context;
        }

        public void Create()
        {
            CreateLanguages();
        }

        private void CreateLanguages()
        {
            foreach (var language in InitialLanguages)
            {
                AddLanguageIfNotExists(language);
            }
        }

        private void AddLanguageIfNotExists(ApplicationLanguage language)
        {
            if (_context.Languages.IgnoreQueryFilters().Any(l => l.TenantId == language.TenantId && l.Name == language.Name))
            {
                return;
            }

            _context.Languages.Add(language);
            _context.SaveChanges();
        }
    }
}
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` convert to character set utf8 collate utf8_unicode_ci;") AS    mySQL
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="<YouDatabaseName>"
AND TABLE_TYPE="BASE TABLE"
ALTER DATABASE <database-name> CHARACTER SET utf8 COLLATE utf8_unicode_ci;
 ALTER TABLE <table-name> CHARACTER SET utf8 COLLATE utf8_unicode_ci;