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

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

时间:2014-11-12 00:25:52      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   ar   os   使用   

原文:SQL Server插入中文数据后出现乱码

今天在做项目的过程中遇到如标题的问题,情况如下图:

bubuko.com,布布扣

数据库使用的是SQL Server2012版本,创建表的脚本如下:

CREATE TABLE [dbo].[Type]
(
  [TypeId] INT NOT NULL PRIMARY KEY,
    [TypeName] NVARCHAR(50)NOT NULL,
    [Description] NVARCHAR(255) NULL,
    [CategoryId] INT NOT NULL DEFAULT 0
)

根据一些相关文档提到的解决方案,需要包含中文数据的字段,一般定义为nchar/nvarchar数据类型。但实际应用中,即使这样定义了数据库表字段,也会产生乱码。此时尝试了另一种解决方案:即添加中文数据时, 在插入的中文字符前添加大写字母N,脚本示例如下:

MERGE dbo.[Type] AS Target
USING (
  SELECT 0, N‘其它‘, N‘未定义消费类别‘, 0
  UNION
  SELECT 1, N‘主食‘, N‘米、面、油、盐等‘, 1
  UNION
  SELECT 2, N‘副食‘, N‘肉、菜、蛋、熟食等‘ , 1
  UNION
  SELECT 3, N‘餐饮‘, N‘含堂食外送‘, 1
  UNION
  SELECT 4, N‘饮料‘, ‘‘, 2

经过验证,应用此方案可以解决中文乱码问题。

bubuko.com,布布扣

 

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

标签:des   style   blog   http   io   color   ar   os   使用   

原文地址:http://www.cnblogs.com/lonelyxmas/p/4090863.html

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