zoukankan      html  css  js  c++  java
  • 如何解决MSSQL中文数据乱码问题

    今天遇到了在数据库中直接写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;

  • 相关阅读:
    Laya中使用Protobuf
    Laya中第三方库的使用
    Laya的骨骼换装
    Laya的粒子效果
    Laya的预设Prefab (预制件)
    Egret EUI Tab + ViewStack
    Egret 划线手势动画 (切水果)
    Egret3.2.6老项目转成5.2.22微信小游戏,遇到exml加载不了问题
    AndroidUI设计 之 图片浏览器
    Android应用的自动更新模块
  • 原文地址:https://www.cnblogs.com/chenxianbin89/p/3731693.html
Copyright © 2011-2022 走看看