2009-05-06 5 views
3

Я пытаюсь обновить значение тега китайскими иероглифами. Однако он не добавляет китайских символов. Вместо этого он добавляет «???» , , например. таблица обновление устанавливается col.modify ('заменить значение (/ тега/текст()) [1] с "我"'), где .. Любая помощь очень ценитсяsql server 2005 xml update query chinese characters

благодаря Бен

+0

@unknown: Я переехал на другой вопрос твой (SQL Server 2005) благоговение к serverfault.com, где мы надеемся, он будет получать ответы от людей, которые знают немного больше об этом. –

ответ

4

Для международного такие символы, как обычно, вы хотите использовать N'this - это мои данные, чтобы обозначить это unicode/nchar. В противном случае это рассматривается как char, и я предполагаю, что сортировка db не может поддерживать символы, которые вы отправляете. Попытайтесь просто сделать

select 'my chars' 

и посмотрите, есть ли у вас все еще вопросительные знаки.

EDIT - вот пример, который подтверждает мое предложение работы:

declare @x xml 
set @x = N'<tag>abc</tag>' 
set @x.modify (N'replace value of (/tag/text())[1] with "我"') 
select @x 

Я вижу символ, когда я выбираю из XML-, и я проверил, что до и после того, как персонаж 0x1162 (доказывает данные нетронутый).

+0

Я пытаюсь обновить данные xml. Обновления работают для типов данных nvarchar, но если я пытаюсь обновить тип данных xml, обновление не работает – user55474

+0

@poster - см. Пример, который я редактировал. Это работает, поэтому вы должны делать что-то еще неправильно, если этот подход все же дает вам беда. Дайте нам более подробную информацию, если у вас все еще есть проблемы. – ahains

+0

Я отправляю данные в хранимую процедуру. Тип данных - nvarchar. все же это экономит как ??? – user55474

2

Вы используете строки Unicode? Те, начинаются с заглавной буквы N, как:

update yourtable 
set yourvalue = N'your chinese characters' 
where id = yourid 
+0

Я пытаюсь обновить данные xml. Обновления работают для типов данных nvarchar, но если я пытаюсь обновить тип данных xml, обновление не работает – user55474

+0

Не могли бы вы разместить определения таблиц и пример XML? Я не могу прочитать ваш разум;) – Andomar

+0

таблица набора обновлений col.modify («заменить значение (/ tag/text()) [1] с помощью sql: variable (« @ data »)), тип данных @data NVARCHAR – user55474