我试图给用户的消息字符串是希伯来语从数据库的语言代码是工作正常,但当它存储到数据所有字符都是问号
zx = user photo id its not a hebrew string works perfect .
cap = e.Message.Caption.ToString();
usern = userid in table works perect to.
con.Open();
using (var cmd = new SqlCommand("update Accs2 set PhotoId = '" + zx + "',
PhotoCap= '" + cap + "' where Username like '%" + usern + "%'", con))
{
await cmd.ExecuteNonQueryAsync();
await bot.SendTextMessageAsync(cid, "Your Photo And Caption Saved!", parseMode: ParseMode.Html, replyMarkup: exit);
}
con.Close();
1条答案
按热度按时间ewm0tg9j1#
将列的数据类型更改为nvarchar,并将其存储在db中,例如:
旧表结构:
将消息存储在“col_2”列中,然后将其更改为nvarchar,如下所示:
我猜,消息是以列的当前字符集不支持的语言发出的。
编辑-1:用示例解决方案更新
这是我的系统的工作集,我也改变了表字符集和排序规则如下,然后它的工作良好。
edit-2:在sql server中:必须在字符串前面使用“n”前缀,如下所示,在实际字符串之外: