SQL Server中乱码解决方案:

在Sql Server2005英文版中,如果未对Varchar类型的字段进行设置,那么很多朋友会发现向数据库中插入记录时,如果对应的varchar类型字段 的值为中文,会出现乱码的情况。解决办法:使用nvarchar类型,并在插入值前加N,例如:insert into tableA (a) values(N'中文')。

如果确实要使用varchar类型的话,可以这样做:
1.

安装时不要选 Hide advice configuration  options

然后再 Collation designator and order  中选择 Chinese_PRC 就可以了。

2:

在建表时指明某个字段的语言

方法 COLLATE Chinese_PRC_CS_AS_WS

示例:

create table test
(
a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,
b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL
)

insert test values('中文','中文')

插入后 字段 a 为 中文 ,b 为 ??

若是使用存储过程插入数据的话,需要将对应的参数类型改为nvarchar。

示例:
create PROCEDURE [dbo].[export_Create]

@C_HM nvarchar(128)
AS
INSERT INTO export
([C_CCH])
values
(@C_HM)

在表格中,C_CCH为varchar类型。

同时在调用存储过程的.net代码中,也需要将对应的参数类型选为:System.Data.SqlDbType.NVarChar。

示例:

Database.MakeInParam("@C_HM",System.Data.SqlDbType.NVarChar,128,guanTongInfo.CHM)。(Database.MakeInParam为DataAccess2.0组件的方法)

方案二:

在设计器里更改有时会出现:

Msg 5030, Level 16, State 2, Line 1
无法用排他锁锁定该数据库,以执行该操作。
Msg 5072, Level 16, State 1, Line 1
ALTER DATABASE 失败。无法将数据库 'databasename' 的默认排序规则设置为 Chinese_PRC_CI_AS。

脚本更改方法:

ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE dbname COLLATE CHINESE_PRC_CI_AS;
GO
ALTER DATABASE dbname SET MULTI_USER;
GO

原文地址:http://www.cnblogs.com/KingStar/archive/2010/06/11/1756305.html

转载于:https://www.cnblogs.com/pdfw/p/5526160.html

SQL Server插入或修改数据是中文乱码的问题相关推荐

  1. linux系统python截图不显示中文_Linux系统通过python访问SQL SERVER,无法显示数据库内中文的问题...

    最近遇到几个需求,需要从centos上通过python访问sql server服务器查询数据,本来倒也不是很复杂,通过pyodbc比较顺利地实现了,具体如下: 先直接通过yum安装unixODBC.u ...

  2. sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...

    SQL Server数据库跨数据库服务器查询和跨表更新的相关知识是本文我们主要要介绍的内容,接下来我们就通过一个实例来介绍这一过程.实例是这样的:想实现的功能很简单, 在我的本地一个表用来保存省的信息 ...

  3. SQL Server插入geography、geometry和c_hierarchyid类型数据

    SQL Server插入geography类型数据: INSERT INTO wht_g(c_geography)VALUES ( geography :: STGeomFromText ( 'POI ...

  4. SQL Server插入中文数据后出现乱码

    原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [d ...

  5. sql server中如何修改视图中的数据?

    原文地址::https://www.cnblogs.com/xielong/p/10516975.html 相关文章 1.MYSQL 视图的不可以更改数据----https://blog.csdn.n ...

  6. SQL数据库插入、修改、删除及删除表中数据操作示例(insert、update)

    目录: 1.数据库的连接.创建 2.对字段的操作:(alter table) 3.SQL数据库插入.修改.删除操作 4.数据库的查询操作大全(select) 5.多表查询(join on) 6.约束操 ...

  7. [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE

    需要在c盘下先建立一个data.txt文件,然后在文件的第一行写上你要导出的列,不如说要导出id和name这两列,就在第一行写上 id,name 然后保存,使用下列SQL就可以了,你如果要保持原有的I ...

  8. 在SQL Server数据库之间进行数据导入导出

    来源:http://kb.cnblogs.com/page/94464/ 在SQL Server数据库之间进行数据导入导出 (1).使用SELECT INTO导出数据 在SQL Server中使用最广 ...

  9. sql server 快照_添加新文章,删除文章,更改快照文件夹路径和SQL Server复制中的数据筛选器行

    sql server 快照 In the last articles, we have learned Configuring Snapshot and Transactional SQL Serve ...

最新文章

  1. 用户控件和服务器控件的数据绑定
  2. linux系统资源监控
  3. neo4j图形数据库JAVA实现
  4. docker设置镜像源 树莓派_树莓派上 Docker 的安装和使用
  5. linux 信号没有被处理方法,[计算机]Linux 信号signal处理机制.doc
  6. linux-查找文件夹
  7. 游标循环读取的正确逻辑_千分尺的正确使用方法原来是这样?我用了那么多年都用错了...
  8. 安卓 adb 的原理浅析
  9. (1)Deep Learning之感知器
  10. BZOJ2006:[NOI2010]超级钢琴——题解
  11. c# 类似Excel的趋势线拟合
  12. 移动交互设计:提示语设计总结
  13. 解决尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败的问题
  14. su自带模型库怎么打开_草图大师模型库竟然在软件内部
  15. 100个最权威的招聘面试题及回答解析 (一)
  16. html个人信息表制作(适合初学者)
  17. 定制化删除ES索引数据
  18. 90度接线与0度接线
  19. 谷歌离线地图API解析
  20. 拿到亚马逊offer的经历 (毫无保留)

热门文章

  1. Android 录音声音分贝获取
  2. 工业级洗地机器人_基于多传感器融合的自动洗地机器人避障研究
  3. javaSE基础——等待唤醒(生产者消费者问题)
  4. matlab双目相机标定校正_双目相机的标定过程详解!-----MATLAB
  5. (史上最详细)C++实战-基于STL 演讲比赛流程管理系统
  6. phobos勒索病毒的处理,警惕phobos卷土从来
  7. java 泛型向下转型_Java向上转型和向下转型(附具体样例)
  8. sensor尺寸、35mm等效焦距、FOV、ZOOM倍数的换算关系
  9. summarize(借鉴)
  10. PMP章节重点 项目经理的胜任力