你好,我有一个网站(意大利语),许多人可以注册。有时人们是中国人或俄罗斯人,所以他们用中文或西里尔字母键盘语言输入。在我的数据库(MS Sql Server 2014 SQL Server 12.0.2000)上发生的情况是,字段由"?“填充。和用户注册后返回时看到的“?”作为他们的名字。DB中的字段是varchar (但我也尝试了nvarchar)。DB的排序规则是Latin1_General_CI_AS。我需要做些什么才能允许这样做?如果有解决方案,那么数据库中的旧记录会发生什么呢?谢谢
发布于 2018-11-12 17:13:06
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
-- ???
-- Валерий
-- 미정https://stackoverflow.com/questions/53258602
复制相似问题