【问题标题】:Japanese Characters storing as Question Mark in Sql Server DB在 Sql Server DB 中存储为问号的日文字符
【发布时间】:2011-06-03 19:08:05
【问题描述】:

我在 DiscountASP 服务器上有一个 SQL Server Db。我在 VB.net 中创建了一个前端并尝试在数据库中插入值。它工作得很好,除了当我插入一些日文字符时,数据以问号 (???) 的形式存储。我在数据库中的字段是 nvarchar 类型,在插入数据库之前,我没有在 VB.net 中编码/解码任何字符串。

关于如何将日文字符存储在数据库中,然后用日文检索它们有什么建议吗?

【问题讨论】:

  • 列的数据类型和排序规则是什么(排序规则可能默认来自表、数据库或服务器实例:使用 SQL Management Studio 中列的属性来查看排序规则)。

标签: sql-server vb.net unicode


【解决方案1】:

在进行插入或更新时,您需要在值前面加上 N 前缀。例如

UPDATE thingy SET name = N'こんにちは'

请注意,N 在单引号之前。那应该可以解决它=)

【讨论】:

  • +1 这是正确答案。如果没有 N 前缀,则文字在数据库的默认排序规则中被视为 varchar
猜你喜欢
  • 2011-07-02
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多