Asp.net Can';t使用LINQ在数据库中存储朝鲜语字符串

Asp.net Can';t使用LINQ在数据库中存储朝鲜语字符串,asp.net,sql-server,database,vb.net,linq-to-sql,Asp.net,Sql Server,Database,Vb.net,Linq To Sql,我正在使用以下代码在数据库中存储韩语字符串: Dim username As String = Request.QueryString.Get("Some Korean String") Using dg As New DataContext() Dim newfriend As New FriendsTable With {.AskingUser = User.Identity.Name, .BeingAskedUser = username, .Pending = True} dg.Fri

我正在使用以下代码在数据库中存储韩语字符串:

Dim username As String = Request.QueryString.Get("Some Korean String")
Using dg As New DataContext()
Dim newfriend As New FriendsTable With {.AskingUser = User.Identity.Name, .BeingAskedUser = username, .Pending = True}
dg.FriendsTables.InsertOnSubmit(newfriend)
dg.SubmitChanges()
end using

Dim用户名为String=Request.QueryString.Get(“一些韩文字符串”)
将dg用作新的DataContext()
Dim newfriend作为新FriendsTable与{.AskingUser=User.Identity.Name、.BeingAskedUser=username、.Pending=True}
FriendsTables.InsertOnSubmit总经理(新朋友)
dg.提交更改()
终端使用
检查我的数据库,存储的用户名是字符串“?”。。。
有人知道这是怎么发生的或有什么解决办法吗?

您的数据库排序规则是什么?您是否能够使用任何其他数据访问技术存储韩语字符串?用户名列的类型是什么,它在LINQ中是否准确映射到SQL

我怀疑数据库中的某些内容没有正确设置以允许使用完整的Unicode。我非常怀疑这与LINQ本身有什么关系


要检查的另一件事是,您实际上首先获得了正确的数据。通常有几个地方会出错-您需要分别验证每个地方,以查看数据在哪里被破坏。我有一个您可能会觉得有用的列表。

听起来您正在将韩文文本存储在varchar/text列中,而该列没有使用韩文排序规则。最简单的修复方法是将列类型更改为nvarchar/ntext


列类型存储Unicode数据,而类型存储指定排序规则中的单字节字符。

。beingaskeduser列在varchar中…代码正在处理alpanumeric字符串,但当我得到一个韩语字符串时,就会发生这种情况