在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
2023-09-14 08:59:42 时间
在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案
病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号“???”
解决办法:
第一种办法:先选中出错的数据库→选中以后右键点击属性会弹出数据库属性 对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
(注意:在选择数据库属性的时候必须确保你所修改的数据库未被使用才可以修改否则会失败的)
第二种办法:首先打开你的sql查询分析器(新建查询),然后输入以下代码执行即可:
例如:
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: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2011/03/04/1971122.html
字符编码,竟然也是 SQL 不走索引的元凶之一。。 某个忙(mo)碌(yu)的下午,旁边的刘哥(老江湖,从业5年+)突然发出了一声叹息:“哎,mysql 出bug了,有索引不走”。 作为一个热心的人,我立即说到:“是不是,对索引字段做了函数操作”。
相关文章
- 人工智能自动sql优化工具–SQLTuning for SQL Server
- vs如何读取mysql中的数据并解决中文乱码问题
- SQL Error (1055) sql_mode=only_full_group_by详解数据库
- SQL SERVER 分组求和sql语句
- Oracle删除表: 使用SQL语句(oracle删除表sql)
- 操作Oracle 日期数据的SQL操作简易教程(oracle日期sql)
- sql 技术MongoDB:非SQL的新技术(mongodb不包含)
- Oracle事务SQL:处理复杂数据问题(oracle事务sql)
- Oracle SQL查询前一天的数据(oracle前一天sql)
- 从SQL格式数据快速导入MSSQL数据库(sql格式导入mssql)
- 如何使用SQL快速导入MSSQL数据库(sql如何导入mssql)
- 检索用中文在SQL Server中检索信息(sqlserver用中文)
- 简单易用的Oracle SQL跟踪工具推荐(oracle跟踪sql工具)
- 深入了解Oracle SQL管理技巧(oracle管理sql)
- Oracle通过SQL脚本实现快速操作(oracle执行sql脚本)
- 利用SQL查询Redis中的数据(用sql查询redis)
- 学习MySQL如何使用SQL语句在MySQL中创建表(mysql中创建表sql)
- SQL取用Redis缓存技术实现数据提速(sql读取redis缓存)
- 使用SQL快速将数据导入Redis(sql导入redis)
- MySQL高级技巧学会用两条SQL拼接查询数据(mysql两条sql拼接)
- MySQL查询父子级关系的SQL语句(mysql 上下级sql)
- 中的数据使用SQL从Redis中检索数据(使用sql获取redis)
- 语句妙用Oracle将SQL语句拼接妙趣横生(oracle中拼接sql)
- 深入比较Oracle与SQL的配置技巧(oracle与Sql配置)
- 精通Oracle SQL语法,把握大数据运算之道(oracle_sql语法)
- Oracle SQL数据解析的利器(oracle sql计算)
- 使用Oracle SQL实现数据脱敏(oracle sql脱敏)
- 学习Oracle SQL数组的运用(oracle sql数组)
- Oracle SQL开发数据世界的崭新出发点(oracle sql开发)
- 基于Oracle SQL技术的数据延时处理(oracle sql延时)
- Oracle SQL 实现数据传值(oracle sql传值)
- Oracle SQL 空虚一片,尽头何处寻(oracle sql为空)