SQL Server插入中文亂碼


如果數據庫的Collocation是英文的,字段是varchar類型,向表中插入中文數據,會出現亂碼。

解決方法:

方法1. 修改varchar 為 nvarchar類型, 並在插入數據前加N,例如: insert into table_name(a) values (N'中文')

方法2. 如果不修改字段類型,還是varchar, 則需要修改數據庫的Collocation為 中文,參考

---------------------------------------------------------------------------------------------------------

還有一種,在建表時,指定某個字段的語言,

方法 COLLATE Chinese_PRC_CS_AS_WS

示例:

create table test
(
a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL, 
b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL 
)

 

測試:

insert test values('中文','中文')

插入后 字段 a 為 中文 ,b 為 ??

---------------------------------------------------------------------------------------------------------

若是使用存儲過程插入數據的話,需要將對應的參數類型改為nvarchar。

示例:
create PROCEDURE [dbo].[export_Create] 

@C_HM nvarchar(128) 
AS 
INSERT INTO export 
([C_CCH]) 
values 
(@C_HM) 

在表格中,C_CCH為varchar類型。


免責聲明!

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



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