首页 > 代码库 > SQL Server插入中文数据后出现乱码
SQL Server插入中文数据后出现乱码
今天在做项目的过程中遇到如标题的问题,情况如下图:
数据库使用的是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
经过验证,应用此方案可以解决中文乱码问题。
SQL Server插入中文数据后出现乱码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。