博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
阅读量:6330 次
发布时间:2019-06-22

本文共 1100 字,大约阅读时间需要 3 分钟。

在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案

病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号“???” 

解决办法:
第一种办法:先选中出错的数据库→选中以后右键点击属性会弹出数据库属性 对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
注意:在选择数据库属性的时候必须确保你所修改的数据库未被使用才可以修改否则会失败的
第二种办法:首先打开你的sql查询分析器(新建查询),然后输入以下代码执行即可:

ALTER DATABASE 数据库名 COLLATE Chinese_PRC_90_CI_AS
例如: 
USE master
GO
ALTER DATABASE mydb COLLATE Chinese_PRC_CI_AS 
解析原因:出现以上情况主要是因为数据库属性的排序规则设置不正确,在Microsoft SQL Server 2005 中,字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。
排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
Chinese_PRC_90_CI_AS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义: 
_BIN 二进制排序 
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音,AI不区分,AS区分   
_KI(KS) 是否区分假名类型&defKI不区分,KS区分 
_WI(WS) 是否区分宽度 WI不区分,WS区分 
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项(完)。
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2011/03/04/1971122.html
,如需转载请自行联系原作者
你可能感兴趣的文章
git commit之后,想撤销commit
查看>>
HTML
查看>>
12周总结
查看>>
Python学习笔记十 IO编程
查看>>
C Primer+Plus(十七)高级数据表示(三)
查看>>
51nod 1183 编辑距离
查看>>
Codeforces 221 A. Little Elephant and Function
查看>>
[HNOI2008]Cards
查看>>
算法(4) 排序
查看>>
主成分分析 R语言
查看>>
C# Enum,Int,String的互相转换
查看>>
【原创】自动结束进程脚本
查看>>
组合条件查询+分页
查看>>
一个解决python抓取中文网页乱码的办法
查看>>
URAL1519 Formula 1
查看>>
UVa 1328 Period
查看>>
【原创】(AMD)JavaScript模块化开发(dojo)
查看>>
对列表的操作
查看>>
Reading papers_3(与mean shift相关,ing...)
查看>>
MPMoviePlayerController播放视频
查看>>