Иностранные персонажи теряют свои диакритические знаки - PullRequest
4 голосов
/ 16 августа 2010

Я пытаюсь интернационализировать вопросы в нашем инструменте для опроса, но когда я вставляю некоторые переведенные строки, SQL-сервер, кажется, лишает некоторых, но не всех, диакритических знаков ...

Пример: (литовский)

Ar jūsų darbas reikalauja, kad jūs įgytumėte naujų žinių ir įgūdžių?

Становится

Ar jusu darbas reikalauja, kad jus igytumete nauju žiniu ir igudžiu?

Заметьте, что «z» сохранило свое диакритическое значение, в то время как «u», «i» и «e» утратили свои. Столбец таблицы, в котором хранится текст, имеет тип nvarchar, однако порядок сортировки таблицы - Danish_Norwegian_CI_AS.

Есть предложения?

РЕДАКТИРОВАТЬ 2010.08.16 11: 17:

Хорошо. Я мог бы что-то сузить. Кажется, что хранимая процедура, которую я использую для извлечения предложения из базы данных, - это та, которая выполняет разбор. Он выбирает из нескольких источников, каждый из которых nvarchar использует UNION, чтобы получить все в одном запросе. Где-то там персонажи раздеты.

... Подожди ... Я думаю, что, возможно, что-то сломалось по пути ...

1 Ответ

0 голосов
/ 16 августа 2010

Параметры сортировки не влияют на данные, хранящиеся в столбцах типа UTF-8. Я бы изменил кодовую страницу и кодировку вашего файла на UTF-8 и убедился, что ваша таблица хранит текст как UTF-8, и вы должны быть полностью настроены.

...