您好,我有一个网站(意大利语),很多人可以注册。有时人们是中文或俄语,因此他们输入中文或西里尔文键盘语言。 在我的数据库(MS Sql Server 2014 SQL Server 12.0.2000)上发生的是,这些字段由“?”填充?用户注册后回来时看到“ ???”作为他们的名字。 DB中的字段是varchar(但我也尝试过nvarchar)。 DB的排序规则是Latin1_General_CI_AS。 我需要做些什么才能允许这样做?如果有解决方案,数据库中的旧记录会怎样? 谢谢
答案 0 :(得分:0)
create table Person(PersonName varchar(30))
insert into Person ( PersonName ) values
( 'Валерий' ),
( '미정' )
select * from Person
-- Result is:
-- PersonName
-- ------------------------------
-- ??????? -- These question marks have
-- ??? -- been saved in your table.
alter table Person alter column PersonName nvarchar(30)
insert into Person ( PersonName ) values
( N'Валерий' ), -- Note use of N prefix
( N'미정' ) -- which indicates an nvarchar string
select * from Person
--Result is:
-- ------------------------------
-- ??????? -- Sorry, old data is lost
-- ???
-- Валерий
-- 미정