中文寫入資料庫變問號”?”

如果你的欄位格式為(NCHAR、NVARCHAR)

前置詞N+Unicode(NCHAR、NVARCHAR)

EX:


 

儲存中文字碼通常會有兩個選擇:

BIG-5, Unicode

為了避免中文BIG-5難字的問題,習慣把資料庫欄位設定為Unicode(NCHAR/NVARCHAR),

並且在Unicode的T-SQL語法上加上前置詞”N“。(因為BIG5支援字數較少)

例如:

查詢結果:

 

CharCode
1?0x3F00
20x0B57

 

從範例中可以發現沒加前置詞”N”的字元存入後會變成”?“(0x3F00)

由於沒有造字區字碼對照表,SQL沒辦法將T-SQL語法內的Unicode系統字[國] 轉換到BIG-5造字區字碼,所以寫入前就是問號了

 

在查詢時也要注意這一點,不然就變成用”?”去搜尋了

 

如有錯誤請指正