SQL乱码的问题
来源:互联网 发布:抓取微信文章图片 php 编辑:程序博客网 时间:2024/06/16 11:07
在SQL Server Unicode字符串常量需要前缀N
当在SQL SERVER里边处理字符串常量的时候你必须在常量之前放一个大写的N,就像SQL SERVER连机文档标题为"采用Unicode数据"所说明的那样.N前缀象征着在SQL-92 标准的国家语言,并且必须是大写字母.如果你在Unicode字符串常量前边不放一个N的话,SQL Server 在用它只前会把它转化成当前数据库的非Unicode代码页.
这个符号必须用来提供和现存的程序的向后兼容.举例, "SELECT 'Hello'" 一定要返回一个非Unicode 字符串因为许多的程序依赖于SQL Server 6.5,而它是不支持Unicode数据.而新的语法"SELECT N'Hello'" 被添加从而语序从SQL Server 7.0和去SQL Server 7.0.传递Unicode 字符串.
任何时候当你向SQL Server 传递Unicode 数据的时候你必须在它的前边放上N.如果你的程序支持Unicode而且向SQL Server 7.0 传递了未加N的字符串常量,你可能会遇到字符串数据的损失.当 SQL Server 把一个未加N的Unicode字符串转化成SQL Server数据库的代码页,Unicode字符串里边的任何字符,并且在SQL Server代码页里边不存在的字符将会损失.
如果你的程序没有发送向SQL Server 发送SQL Server 数据而且客户端的ANSI代码页符合SQL Server 代码页,就没有必要加上N,并且你也不会遇到数据的损失.但是, SQL Server 7.0 允许你在安装的时候挑选一种不同于排序次序的Unicode校勘.在某些情况下这可能会导致涉及到有N前缀的字符串和没有N前缀的字符串出现不同的结果.举例,当你安装SQL Server 7.0的时候,你选择了二进制排序规则(排序规则在比较非Unicode 字符串是用),而且选择了常规Unicode作为Unicode校勘(校勘在比较Unicode字符串时用).比较两个非Unicode字符串表达式 ("ABC" = "abc") 会返回失败因为在二进制排序规则里边大写字母A和小写字母a是不相等的.相反的,表达式(N'ABC' = N'abc') 会返回正确.因为加上前缀的字符串它们会被转化成Unicode而且Unicode校勘会被用来比较它们.和二进制比较不同的是,常规Unicode校勘是大小写不敏感的并且会视两个字符串相同的.
注意如果其中的一个字符串加上前缀N而另外一个没有的话,非Unicode串会被转化成Unicode串并且Unicode校勘会被应用来比较她们.
string insertsql = " insert into userinfo (username) values (' " +username.text.trim()+" ' )"
如果要想正确的写入中文信息,需要在插入值的前面加上字母“n”,所以上句的代码应改为:string insertsql = " insert into userinfo (username) values (n' " +username.text.trim()+" ' )"
- SQL乱码的问题
- PL/SQL客户端的乱码问题
- sql乱码问题
- SQL数据库乱码问题
- PL/SQL 乱码问题
- hibernate的sql语句中传中文参数乱码问题
- asp读sql数据时出现乱码问题的解决方法
- asp读sql数据时出现乱码问题的解决方法
- 安装sql server 2005出现乱码的问题
- MySQL 字符集导致SQL连接之后中文乱码的问题!
- Sql Server Varchar类型中文乱码问题的解决办法
- asp读sql数据时出现乱码问题的解决方法
- 导入sql脚本时中文出现乱码的奇怪问题
- 关于sql server插入中文乱码的问题
- PL/SQL Deleveloper导出的csv文件乱码问题
- 关于jsp与sql server 2000的中文乱码问题
- PLSQL Developer SQL窗口语句的复制乱码问题
- 英文系统 SQL SERVER 插入中文变成乱码的问题
- LinQ To Entity的增删改查
- aaa
- LinQ To Entity的增删改查
- 浅谈DiscuzNT的数据层提供程序
- DOC TO CHM
- SQL乱码的问题
- J2EE学习中一些值得研究的开源项目
- 理解SQL Server中的索引(一)
- 记录下SQL2005安装时出现 性能监视器计数器要求 (错误) 及解决办法
- 在.Net中使用msxsl:script脚本块扩展XSLT的具体实践与应用
- 搞搞QT2:如何分析一个QT类
- Oracle ADF Introduction
- 转:Vim编辑器基本设置总结
- extern "C"