Символы HTML отображаются как знак вопроса в базе данных SQL Server

Сегодня я заметил, что символы html, такие как: ★, отображаются в моей базе данных как знак вопроса.

Я использую varchar как тип, и используемая мной firebase database – это microsoft sql 2008.

Кто-нибудь знает, как это исправить?

    Вам необходимо использовать NVARCHAR данных NVARCHAR для вашего столбца, тип данных VARCHAR можно использовать только для символа, отличного от юникода.

    если вы сохраняете символы юникода в вашем типе данных, вы должны использовать типы данных NVARCHAR, и при вставке данных в ваш столбец с помощью сервера SQL, содержащего префикс N в переданной строке будут отображаться некоторые символы Юникода.

    С помощью VARCHAR DataType

     CREATE TABLE #Temp (Column1 VARCHAR(100)) INSERT INTO #Temp VALUES('★') SELECT * FROM #Temp 

    результат

     ╔═════════╗ ║ Column1 ║ ╠═════════╣ ║ ? ║ ╚═════════╝ 

    С NVARCHAR DataType

     CREATE TABLE #Tempn (Column1 NVARCHAR(100) ) INSERT INTO #Tempn VALUES(N'★') --< -- N prefix for Unicode Characters SELECT * FROM #Tempn 

    результат

     ╔═════════╗ ║ Column1 ║ ╠═════════╣ ║ ★ ║ ╚═════════╝ 

    Определите символ как NVARCHAR вместо VARCHAR

     insert into tablename values (N'★ ') 

    выше – синтаксис для вставки и убедитесь, что ваш тип данных поля nvarchar или попробуйте этот пример тестирования

     create table test (abc nvarchar) insert into test values (N'★ ') select * from test