MSSQL2005里面varchar输入中文就变问号了,怎么解决?

myj870517 2009-05-21 08:56:10
感谢
...全文
739 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
myj870517 2009-05-21
  • 打赏
  • 举报
回复
饿 我好像知道了,在试试,刚选错了
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 fredrickhu 的回复:]
或者:
先选中出错的数据库→选中以后右键点击属性会弹出数据库属性 对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
[/Quote]
标题: Microsoft SQL Server Management Studio Express
------------------------------

更改 对于 数据库“Test3”失败。 (Microsoft.SqlServer.Express.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476

------------------------------
其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.Express.ConnectionInfo)

------------------------------

无法用排他锁锁定该数据库,以执行该操作。
ALTER DATABASE 失败。无法将数据库 'Test3' 的默认排序规则设置为 Chinese_PRC_Stroke_90_CI_AS。 (Microsoft SQL Server,错误: 5030)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=5030&LinkId=20476

------------------------------
按钮:

确定
------------------------------


显示了这个应该咋办
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 fredrickhu 的回复:]
引用 14 楼 myj870517 的回复:
引用 13 楼 fredrickhu 的回复:
你设置的语言是不是中文的啊 不是的按照9楼的来"安装时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了"
我已经装好了不想重装了有什么办法吗?



SQL code--这样试下
使用 default language 选项为所有新创建的登录指定默认语言。若要设置默认语言,请按照 syslanguages 表中列出的…
[/Quote]
我看了下
默认语言原来就是Simplified Chinese,这是怎么回事?要改成英语吗?
--小F-- 2009-05-21
  • 打赏
  • 举报
回复
或者:
先选中出错的数据库→选中以后右键点击属性会弹出数据库属性 对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
--小F-- 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 myj870517 的回复:]
引用 13 楼 fredrickhu 的回复:
你设置的语言是不是中文的啊 不是的按照9楼的来"安装时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了"
我已经装好了不想重装了有什么办法吗?
[/Quote]

--这样试下
使用 default language 选项为所有新创建的登录指定默认语言。若要设置默认语言,请按照 syslanguages 表中列出的 langid 值,来指定所需语言的相应值。

设置默认语言
在对象资源管理器中,右键单击服务器并选择“属性”。

单击“杂项服务器设置”节点。

在“用户的默认语言”框中,选择 Microsoft SQL Server 显示系统消息的语言。

默认语言为英语。


myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ai_li7758521 的回复:]
http://blog.csdn.net/htl258/archive/2009/03/20/4007035.aspx
[/Quote]按照这位兄弟的办法,可我点出数据库属性,然后排列顺序那里都是灰色的改怎么办?
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 fredrickhu 的回复:]
你设置的语言是不是中文的啊 不是的按照9楼的来"安装时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了"
[/Quote]我已经装好了不想重装了有什么办法吗?
--小F-- 2009-05-21
  • 打赏
  • 举报
回复
你设置的语言是不是中文的啊 不是的按照9楼的来"安装时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了"
victorcai2006 2009-05-21
  • 打赏
  • 举报
回复
字符集的问题?
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wufeng4552 的回复:]
SQL code--try
sex=N'男' OR sex=N'女'
[/Quote]
恩确实解决了,哈哈,什么原理呀,是不是每次写中文前面都要加N了吗?还是有什么能永久解决的办法?
ai_li7758521 2009-05-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/htl258/archive/2009/03/20/4007035.aspx
ai_li7758521 2009-05-21
  • 打赏
  • 举报
回复
排序规则问题。


可以支持中文的两种方法:

1:
安装时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了。

2:

在建表时指明某个字段的语言

方法 COLLATE Chinese_PRC_CS_AS_WS
示例:
create table test
(
a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,
b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL
)

insert test values('中文','中文')

插入后 字段 a 为 中文 ,b 为 ??
水族杰纶 2009-05-21
  • 打赏
  • 举报
回复
--try
sex=N'男' OR sex=N'女'
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wufeng4552 的回复:]
引用 4 楼 myj870517 的回复:
引用 3 楼 wufeng4552 的回复:
SQL code--定义成unicode 如nvarchar
--插入时候
insert tb select N'内容'

就算是nvarchar也不行

如果是已经变成?然后再修改成nvarchar类型,是变不回来的~~
[/Quote]
有一个字段是sex然后我在 check约束里面写的,sex='男' OR sex='女',然后退出,在进去就变??了,那应该怎么办?
JonasFeng 2009-05-21
  • 打赏
  • 举报
回复
这跟楼主设置的语言有关系。
确保是简体中文。
水族杰纶 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 myj870517 的回复:]
引用 3 楼 wufeng4552 的回复:
SQL code--定义成unicode 如nvarchar
--插入时候
insert tb select N'内容'

就算是nvarchar也不行
[/Quote]
如果是已经变成?然后再修改成nvarchar类型,是变不回来的~~
myj870517 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wufeng4552 的回复:]
SQL code--定义成unicode 如nvarchar
--插入时候
insert tb select N'内容'
[/Quote]
就算是nvarchar也不行
水族杰纶 2009-05-21
  • 打赏
  • 举报
回复
--定义成unicode 如nvarchar
--插入时候
insert tb select N'内容'
  • 打赏
  • 举报
回复
修改字段的数据类型为nvarchar,或者修改排序规则
pt1314917 2009-05-21
  • 打赏
  • 举报
回复

将varchar改为nvarchar,
或者在插入值时,insert into 表名(字段名) values(N'中文') --加N

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧