我尝试了许多从MySQL数据库读取ć,ć和đ符号的选项,但没有成功。 取而代之的是:舒玛,泽顿,切韦佩奇奇,舒玛,沙克,都翁
我得到了:舒马,泽顿,伊韦普伊西,舒马,阿克,多宗。
MySQl表的排序规则是utfmb4-默认排序规则。很难从数据库中读取上述标志的相同.NET Core服务可以完美地执行插入操作。因此,只是阅读是个问题。
SO上的某些成员建议在打开与数据库的连接后执行以下“ SET character”命令应该会有所帮助,但这对我来说不是真的。
string commColl = "SET character_set_client = 'utf8mb4'; set character_set_results = 'utf8mb4'; SET collation_connection = 'utf8mb4_general_ci'; SET NAMES UTF8;";
MySqlCommand commCollation = new MySqlCommand(commColl, conn);
try
{
conn.Open();
commCollation.ExecuteNonQuery();
此外,我尝试将'utf8'设置也没有成功。 此外,我还将CharSet部分放入了连接字符串:
private readonly string connString = "host=aurora-host.wert.net;user=asop;password=ooppoo;database=test;Connect Timeout=10;CharSet=utf8;";
显示创建表:
创建表
FEEDBACK
(EntryID
int(11)NOT NULL AUTO_INCREMENT,AccessCode
varchar(45)收集utf8mb4_unicode_ci默认为空,DocumentPath
varchar(255)收集utf8mb4_unicode_ci默认为空,FreeText
varchar(4000)收集utf8mb4_unicode_ci默认为空,DateInsert
日期时间默认为空,SurveyID
int(11)默认为空,Document
一滴,DocumentExtension
varchar(5)收集utf8mb4_unicode_ci默认为空,CompanyID
int(11)默认为空, 主键(EntryID
) )ENGINE = InnoDB AUTO_INCREMENT = 98 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
答案 0 :(得分:0)
所以,问题在于,检索数据的存储过程引用了另一个表中具有swedish_latin_ci排序规则的列。
utf8字符集和utf8_general_ci排序规则就足够了。