Snehasish00 Ответов: 3

Как вставить символ рупии в sql server


Всем привет

Пожалуйста, подскажите мне запрос на вставку текущего символа рупии в sql server.
Я должен отобразить все символы валюты в поле со списком.

INSERT INTO dbo.currency (country,currency,code,symbol) VALUES ('India','Rupees','INR',NCHAR(8425));     


Я попробовал сделать это выше, но он не показывает результат.

Спасибо

aboubkr90

Попробуйте "редактировать верхние 200 строк" в таблице currency, чтобы увидеть, есть ли она там (это может быть запрос, пользовательский интерфейс или что-то еще)

3 Ответов

Рейтинг:
1

Zoltán Zörgő

Поскольку рупия - это символ Юникода, вам нужно использовать шрифт, в котором есть этот глиф. Как я вижу, он не поддерживается по умолчанию в окне, вы должны применить патч: http://support.microsoft.com/kb/2496898[^Но этого недостаточно, вы должны изменить шрифт результата сетки в SQL Server Management Studio и выбрать правильный шрифт (http://technet.microsoft.com/en-us/library/ms189708.aspx[^]). Чтобы проверить, доступен ли символ глиф или нет, запустите charmap.exe и найдите код 20B9 (см.: http://windows.microsoft.com/en-us/windows-vista/using-special-characters-character-map-frequently-asked-questions[^])

Обновление:
1) используйте шрифт "Тахома". После обновления он наверняка поддерживает символ.
2) код, который вы использовали, кажется, не является кодом unicode символа INR. Это должно быть 8377 (это десятичное значение эквивалентно шестнадцатеричному 20B9). Если вы выполняете следующие утверждения, вы должны убедиться в этом сами:

select UNICODE(N'₹'), NCHAR(8377)


Рейтинг:
1

phil.o

Видеть здесь:
как вставить текст unicode в SQL Server из окна запроса[^]

Что привело бы к:

INSERT INTO dbo.currency (country, currency,code, symbol) VALUES ('India', 'Rupees', 'INR', N'₨');


Примечание: текстовый столбец должен иметь тип nvarchar или nchar.


Рейтинг:
0

Member 12003880

Просто чтобы добавить к решению №3, упомянутому Золтаном Зарго

В большинстве случаев файлы сценариев SQL Server имеют кодировку" западноевропейская (Windows) - кодовая страница 1252". Следовательно, символ рупии INR не часто появляется правильно. Шрифт по умолчанию, выбранный в Редакторе сценариев, может позволить отображать символ, но при сохранении файла сценария SSMS будет указывать на аномалию.

Следовательно, не изменяя кодировку, вы можете просто принять функцию NCHAR. Например (продолжая то, что уже было указано ранее в этой теме), показывает различные способы, как это может быть достигнуто:

select UNICODE(N'₹'), NCHAR(8377), 'INR ' + NCHAR(8377)


Надеюсь, это поможет.