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插入中文数据后出现乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Touch系统简介(二)
- 下一篇: Javascript 思维导图