SQL Server 2005 конвертировать Ascii в Unicode (UTF-8 -> nvarchar) - PullRequest
0 голосов
/ 20 мая 2010

У меня есть данные в поле nvarchar с данными в формате ascii: "Zard Frères Guesta"

Как мне преобразовать его в читаемый (юникод) формат в t-sql?

Ответы [ 3 ]

0 голосов
/ 20 мая 2010

Мне кажется, ваша проблема в том, что вы используете CODEPAGE = 1252 (однобайтовый набор символов) при загрузке данных в OPENROWSET.

Попробуйте использовать 1202 (UTF-16) или, возможно, 1208 (UTF-8)

Приветствия

0 голосов
/ 15 августа 2014

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=62406 имеет функцию, которая сделает это:

select dbo.utf8_to_utf16('Zard Frères Guesta')

Результаты:

Zard Frères Guesta
0 голосов
/ 20 мая 2010

Я думаю, что вы говорите, что у вас есть то, что должно быть двумя байтами одного символа Unicode в двух последовательных символах Unicode (старшие байты, вероятно, все 0 байтов). Это может произойти по разным причинам, если вы неправильно обрабатываете кодовые страницы во время вставок.

Вам необходимо вернуть их обратно в отдельные байты, а затем перекодировать данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...