Charset MS SQL Server - PullRequest
       2

Charset MS SQL Server

0 голосов
/ 12 ноября 2018

Здравствуйте, у меня есть веб-сайт (итальянский), где многие могут зарегистрироваться. Иногда люди китайцы или русские, поэтому они вводят текст на китайском или кириллическом языке. Что происходит с моей БД (MS Sql Server 2014 SQL Server 12.0.2000) в том, что поля заполнены "?" а пользователь когда вернется после регистрации увидит "???" как их зовут. Поля в БД - это varchar (но я пробовал и nvarchar). Сортировка БД - Latin1_General_CI_AS. Что мне нужно сделать, чтобы это позволить? и если есть решение, что происходит со старыми записями в БД? Спасибо

1 Ответ

0 голосов
/ 12 ноября 2018
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
-- ???
-- Валерий
-- 미정
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...