码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server插入中文乱码

时间:2017-04-22 15:41:28      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:测试   varchar   exp   语言   values   href   lan   tar   server   

如果数据库的Collocation是英文的,字段是varchar类型,向表中插入中文数据,会出现乱码。

解决方法:

方法1. 修改varchar 为 nvarchar类型, 并在插入数据前加N,例如: insert into table_name(a) values (N‘中文‘)

方法2. 如果不修改字段类型,还是varchar, 则需要修改数据库的Collocation为 中文,参考

---------------------------------------------------------------------------------------------------------

还有一种,在建表时,指定某个字段的语言,

方法 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类型。

SQL Server插入中文乱码

标签:测试   varchar   exp   语言   values   href   lan   tar   server   

原文地址:http://www.cnblogs.com/FocusIN/p/6747715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!