Here's a horrible and almost completely useless solution, but it does work... although it doesn't return the elements in the shortened notation....
DECLARE @XMLTest TABLE( [Name] [NVarChar](50) NOT NULL )
DECLARE @SQL AS VarChar(500)
INSERT @XMLTest ([Name]) VALUES (N'One¬d¦Uº')
INSERT @XMLTest ([Name]) VALUES (N'Two')
INSERT @XMLTest([Name]) VALUES (N'Three')
SELECT
@SQL = 'SELECT [' +
Max(CASE Ranking WHEN 1 THEN Name ELSE Null END) + '] = '''', [' +
Max(CASE Ranking WHEN 2 THEN Name ELSE Null END) + '] = '''', [' +
Max(CASE Ranking WHEN 3 THEN Name ELSE Null END) + '] = ''''' +
'FOR XML RAW(''''), ELEMENTS'
FROM
(
SELECT
ROW_NUMBER() OVER(ORDER BY Name) AS Ranking,
Name
FROM
@XMLTest
) X
EXEC (@SQL)