在SQL Server 2008中存储其他语言并检索回来

时间:2014-09-12 10:19:42

标签: c# excel sql-server-2008-r2

我正在使用Excel工作表将我的记录上传到数据库中。 Excel工作表中的某些列不是英语。如何读取其他语言并将其存储到数据库中?

我可以在数据库中完美地阅读和存储英语。我搜索谷歌的一些选项。我尝试了以下代码将其转换为UTF8并存储在数据库中。我正在使用数据库nvarchar(MAX)

byte[] bytes = Encoding.UTF8.GetBytes(dsExcel.Tables[0].Rows[i][7].ToString());
string myString = Encoding.UTF8.GetString(bytes);

当它存储在数据库中时,我只能在列中看到??????????。如果我从文本框和商店获取输入,那么我没有任何问题。

请帮忙 - 可以做些什么?

我想从数据库中存储和检索相同的语言字符串。

1 个答案:

答案 0 :(得分:2)

您的问题可能是您正在使用的UTF8编码。您需要使用Unicode。

但似乎没有必要使用Encoding类型:为什么不从DataTable行获取字符串?默认情况下,CLR将字符串视为unicode。

string myString = dsExcel.Tables[0].Rows[i][7].ToString();