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

經過驗證,應用此方案可以解決中文亂碼問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM