run sp_help "your table" to get the collation setting for the column. In order to store chinese correctly, you should set the collation be:
Chinese_PRC_CI_AS
or Chinese_Stoke_CI_AS
char/varchar data type is ANSI char which must define a code page. If you set the collation be SQL_Latin1_General_CP_CI_AS, it can only store latin characters. In order to store chinese character in a char column, you have to set the collation be Chinese_PRC_CI_AS or Chinese_Stoke_CI_AS which has a chinese code page defined.
nchar/nvarchar collumn is different, you can store any Unicode character include enlish, chinese, japanese in one column.
In term of input chinese character, the character constant will use database's collation. Thus, if the database's collation is not chinese collation, there is no way to input chinese char/varchar data, such as
'中文' will be treated as '??'. But for nvarchar/ncar, you can input it
on any collation. such as N'中文' will be treated as two unicode chars
本文介绍了如何在数据库中正确地存储中文字符。对于char和varchar类型的字段,需要设置正确的排序规则Chinese_PRC_CI_AS或Chinese_Stoke_CI_AS。而对于nchar和nvarchar类型,则可以存储包括中文在内的各种Unicode字符。此外,文章还解释了输入中文字符时可能遇到的问题。
4229

被折叠的 条评论
为什么被折叠?



