今天遇到了在数据库中直接写SQL语句,语句中包含中文,但是数据库的表里是包含“?” 的乱码。

我程序代码中,调试时得到的SQL不是乱码,在控制台中也不是乱码。但是在数据库中却出现了乱码。

当用MSSQL控制台去插入或更改中文数据时,中文字符可能会被显示成问号(??),以下提供2种解决办法:

1.在SQL里加上‘N’强制转换编码
  a.把所有字符字段都改成无符号类型,如:nchar,ntext,nvarchar
  b.用查询分析器进行数据管理,在中文数据前加N,强制转换编码,如:insert into test(name,address) values(N'技术',N'易网库')

2.改数据库的排列规则(collation)
  a.执行下面sql语句改collation:
  alter database 数据库名称 collate Chinese_PRC_CI_AS
  b.把所有字符字段都改成无符号类型,如:nchar,ntext,nvarchar

注意:

1.对已经乱码的数据,没有效果
  2.这只针对MSSQL控制台中文乱码的问题,若是网站乱码,得进一步检查文件存储编码和显示编码的设置。
  3.执行下面的sql语句,可以查看当前数据库的排列规则:
  SELECT DATABASEPROPERTYEX('数据库名称', 'Collation') SQLCollation;

最新文章

  1. 简单的jQuery幻灯片实现
  2. JavaScipt 样式操作
  3. mssql 小技巧
  4. Pace.js – 超赞的页面加载进度自动指示和 Ajax 导航效果
  5. poj3692 最大点权独立集/最大独立集
  6. iis7.5 设置伪静态
  7. 一张图看Goodle Clean设计架构
  8. 百度地图LBS开放平台AK一直没有用
  9. c#解析xml字符串 分析 EntityName 时出错
  10. c++字体对齐
  11. Python基础学习7---异常处理
  12. String为值类型还是引用类型
  13. thinkphp中find()和select()的区别
  14. STM32基于固件库新建MDK工程模板(精简版)
  15. 开发自定义ScriptableRenderPipeline,将DrawCall降低180倍
  16. Tcpdump MySQL Query
  17. 转:Java对象序列化
  18. JavaScript -- FileSystemObject-文件
  19. SIFT在OpenCV中的调用和具体实现(HELU版)
  20. Mac 10.12安装hosts快速切换工SwitchHosts!

热门文章

  1. (转)mysql、innodb和加锁分析
  2. JVM-ClassLoader类加载器
  3. css中奇怪的地方
  4. git stash使用一则
  5. C 扩展库 - mysql API CRUD
  6. 反射 XMLUtil
  7. 对数几率回归法(梯度下降法,随机梯度下降与牛顿法)与线性判别法(LDA)
  8. unity多线程
  9. .net下 本地锁、redis分布式锁、zk分布式锁的实现
  10. node错误集合