【问题标题】:Chinese character are written as question marks in the SQL database汉字在 SQL 数据库中写成问号
【发布时间】:2011-04-05 07:19:05
【问题描述】:
我正在使用ADO.net 将字符串写入 Microsoft SQL Server 2005 数据库表中的字段。
我正在使用SqlBulkCopy::WriteToServer api 写入 SQL 数据库。
Sql数据库表中列的数据类型为varchar2类型。
如果我将数据类型更改为 nvarchar,则中文字符会正确写入。但我认为它也应该适用于数据类型varchar2。
【问题讨论】:
标签:
.net
sql-server
ado.net
【解决方案1】:
SQL Server 中没有 VARCHAR2 数据类型 - 您必须使用 NVARCHAR。
VARCHAR2 存在于 Oracle(可能还有其他数据库平台)中。
【解决方案2】:
你不得不提Varchar2在SQL中不存在,你必须使用NVARCHAR。
顺便说一下你的问题不属于它,是因为SQL Collasion,当你(或管理员)安装SQL Server时,你将中文设置为collasion。所以当 SQL 找不到一个字符的等价物时,就用一个汉字来替换它。