文档章节

Sql Server Varchar类型中文乱码问题的解决办法

 大东家
发布于 2015/01/13 10:29
字数 400
阅读 86
收藏 0

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

原文地址:http://www.aspxba.com/html/2009-03/3449.html

 

在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组件的方法)

© 著作权归作者所有

粉丝 22
博文 255
码字总数 111936
作品 0
长沙
项目经理
私信 提问
SQL Server中nvarchar和varchar的区别

1、varchar(n)   长度为 n 个字节的可变长度且非 Unicode 的字符数据,n 必须是一个介于 1 和 8,000 之间的数值,存储大小为输入数据的字节的实际长度,而不是 n 个字节,所输入的数据字符...

Apirl
2018/05/29
45
0
varchar和Nvarchar区别

Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧。 一般如果...

Yamazaki
2012/06/01
6
0
JSP表单提交中文时出现乱码

一、JSP页面显示乱码 下面的显示页面(display.jsp)就出现乱码: JSP的中文处理 <% out.print("JSP的中文处理"); %> 对 不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用...

xiaodaiyy11
2011/11/17
4K
2
SQLServer特殊字符/生僻字与varchar

对于中文版的SQL SERVER,默认安装后使用的默认排序规则为ChinesePRCCI_AS,在此排序规则下,使用varchar类型来可以“正常存取”存放中文字符以及一些东南亚国家的字符,同时varchar类型在存...

NET快速开发框架
2017/11/17
0
0
SQL Server-数据类型(七)

前言 前面几篇文章我们讲解了索引有关知识,这一节我们再继续我们下面内容讲解,简短的内容,深入的理解,Always to review the basics。 数据类型 SQL Server支持两种字符数据类型,一种是常...

jeffcky
2016/12/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JMM内存模型(一)&volatile关键字的可见性

在说这个之前,我想先说一下计算机的内存模型: CPU在执行的时候,肯定要有数据,而数据在内存中放着呢,这里的内存就是计算机的物理内存,刚开始还好,但是随着技术的发展,CPU处理的速度越...

走向人生巅峰的大路
27分钟前
71
0
你对AJAX认知有多少(2)?

接着昨日内容,我们几天继续探讨ajax的相关知识点 提到ajax下面几个问题又是必须要了解的啦~~~ 8、在浏览器端如何得到服务器端响应的XML数据。 通过XMLHttpRequest对象的responseXMl属性 9、 ...

理性思考
36分钟前
4
0
正则表达式基础(一)

1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转...

清自以敬
39分钟前
4
0
idea中@Data标签getset不起作用

背景:换电脑以后在idea中有@data注解都不生效 解决办法:idea装个插件 https://blog.csdn.net/seapeak007/article/details/72911529...

栾小糖
45分钟前
5
0
Apache Kudu 不能删除不存在的数据

使用Apache Kudu客户端,对KafkaConnect Sink 进行扩展。 使用的Apache Kudu 的Java 客户端。突然有天发现作业无法提交,一直报错。 后来才发现这是Kudu自身的一种校验机制。为了忽略这种校验...

吐槽的达达仔
55分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部