sqlserver采用varchar字段类型中文乱码

原创 2004年09月21日 14:12:00

今天朋友遇到过怪问题,在同一个页面显示的2条中文记录一个正常,一个乱码,2条记录分别从不同的表里取出。录入的时候采用直接录入。仔细观察2者区别,发现能正常显示的字段在表中类型为nvarchar,不能的是varchar,试着将其该成nvarchar,问题解决。

因为对sqlserver不熟悉。通过查询手册得知:

nvarchar表示以Unicode格式存储可变长度的 数据,所以能显示中文,而varchar是用非unicode存储数据,所以乱码。

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

在Sql Server2005英文版中,如果未对Varchar类型的字段进行设置,那么很多朋友会发现向数据库中插入记录时,如果对应的varchar类型字段的值为中文,会出现乱码的情况。解决办法:使用n...
  • xiaohelong2005
  • xiaohelong2005
  • 2009年09月30日 21:23
  • 3014

SQL中varchar与Nvarchar区别(乱码的出现)

varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unico来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码),英文字符保...
  • aabbjj
  • aabbjj
  • 2012年11月02日 14:34
  • 1593

SqlServer数据库中文乱码问题解决

问题:创建新数据库,存入中文显示乱码??? 原因分析:SQL版的乱码问题还是出现在SQL SERVER的安装设置上。默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,...
  • u011127019
  • u011127019
  • 2016年05月11日 18:17
  • 10399

关于mysql varchar字段 存储中文出现乱码的问题

查询比较时  比如 ‘字段名称’ =‘中文’   会报和以下类似的错误 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf...
  • u010660220
  • u010660220
  • 2014年11月07日 11:09
  • 597

SQL判断某列中是否包含中文字符或者英文字符

[sql] view plain copy select * from 表名 where 某列 like '%[吖-座]%'      select * from 表...
  • sunfor
  • sunfor
  • 2017年01月22日 22:56
  • 2062

如何varchar类型的字段存储中文汉字(SQL Server 2008/2008 R2/2012)

当Varchar字段的Collation属性设置为Latin_General时,insert或者update为汉字,汉字不能正常存储,显示为问号。     只有修改为collation属性为如下...
  • vieri_ch
  • vieri_ch
  • 2012年04月07日 15:58
  • 7199

SqlServer数据库中文乱码问题解决

问题:创建新数据库,存入中文显示乱码??? 原因分析:SQL版的乱码问题还是出现在SQL SERVER的安装设置上。默认安装时系统默认的排序规则是拉丁文的排序规则,但一般人在安装时没有考虑到这一点,...
  • u011127019
  • u011127019
  • 2016年05月11日 18:17
  • 10399

SQL 2012中文乱码

MS SQL插入汉字的时候,经常会遇到部分汉字变成了乱码问号了, 所以在安装数据库或者在创建表的时候需要注意一下几点: 1、保存汉字的字段要用NVARCHAR、NCHAR、NTEXT等,插入的时候要...
  • waterxcfg304
  • waterxcfg304
  • 2015年03月19日 11:23
  • 4112

SQLServer特殊字符/生僻字与varchar

对于中文版的SQL SERVER,默认安装后使用的默认排序规则为Chinese_PRC_CI_AS,在此排序规则下,使用varchar类型来可以“正常存取”存放中文字符以及一些东南亚国家的字符,同时v...
  • chinahuyong
  • chinahuyong
  • 2017年11月17日 10:55
  • 599

sqlserver数据库数据类型中varchar和nvarchar的区别

nvarchar   和   varchar   的区别是存储方式不同  varchar是按字节存储的。而带nvarchar是按字符存储的  比如说varchar(40),能存储40个字节长度的字符,...
  • konkong5501
  • konkong5501
  • 2013年10月16日 21:18
  • 1247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlserver采用varchar字段类型中文乱码
举报原因:
原因补充:

(最多只允许输入30个字)