Я работаю над приложением на C#, которое извлекает данные пользователя из Active Directory (используя DirectorySearcher) и отправляет их на удаленный сайт с использованием REST API. Но некоторые имена содержат специальные символы, такие как ØÆÅ и т. Д., И я не могу понять, как их правильно закодировать. API ожидает получить их закодированные как & 230; и т.д.Клиент C# REST - Кодирование специальных символов в XML
Ниже тест заглушки:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;
namespace Encodingtest
{
class Program
{
static void Main(string[] args)
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.Encoding = Encoding.UTF8;
StringWriter sw = new StringWriter();
using (XmlWriter xw = XmlWriter.Create(sw, xws))
{
xw.WriteStartElement("test");
xw.WriteElementString("element", "test øæåØÆÅ");
xw.WriteEndElement();
xw.Flush();
xw.Close();
}
Console.WriteLine(sw.ToString());
Console.ReadLine();
}
}
}
Проблема заключается в том, что выход все еще находится в том же формате, что и вход. То есть читаемые датские символы, а не их числовые объекты.
REST API - это приложение Rails. Я предполагаю, что любые данные в приложении C# по умолчанию являются unicode.
Любая помощь и хиты получают высокую оценку.
Приветствия
Звучит так, как будто это приложение Rails должно быть исправлено, но есть обходные пути, если вы не можете заставить их изменить. – 2010-11-26 00:46:34