我正在使用Excel工作表将我的记录上传到数据库中。 Excel工作表中的某些列不是英语。如何读取其他语言并将其存储到数据库中?
我可以在数据库中完美地阅读和存储英语。我搜索谷歌的一些选项。我尝试了以下代码将其转换为UTF8
并存储在数据库中。我正在使用数据库nvarchar(MAX)
。
byte[] bytes = Encoding.UTF8.GetBytes(dsExcel.Tables[0].Rows[i][7].ToString());
string myString = Encoding.UTF8.GetString(bytes);
当它存储在数据库中时,我只能在列中看到??????????
。如果我从文本框和商店获取输入,那么我没有任何问题。
请帮忙 - 可以做些什么?
我想从数据库中存储和检索相同的语言字符串。
答案 0 :(得分:2)
您的问题可能是您正在使用的UTF8编码。您需要使用Unicode。
但似乎没有必要使用Encoding类型:为什么不从DataTable行获取字符串?默认情况下,CLR将字符串视为unicode。
string myString = dsExcel.Tables[0].Rows[i][7].ToString();