Как кодировать диакритические знаки для обновлений в Twitter? - PullRequest
4 голосов
/ 23 февраля 2010

У меня есть собственный Twitter API, и я получил пару электронных писем о проблеме при попытке опубликовать обновление статуса с акцентами и другими диакритическими знаками.Я хотел бы закодировать их так, чтобы обновление статуса все еще имело.

Я знаю, что есть способы удалить диакритический знак, но я бы хотел сохранить его.* Twitter Подсчет символов страницы и заметил, что они действительно говорили о кодировании диакритического знака.Я хотел бы сделать это в C #.Я просто не уверен, как это сделать.

Вот оригинальный отчет об ошибке для Twitter API http://code.google.com/p/twitter-api/issues/detail?id=433

Я пытался использовать ..

 string oldStatus = "con eñe";
 string newStatus = oldStatus.Normalize(NormalizationForm.FormD);

Я пытался использовать FormC, FormKC и FormKD, и я либо получаю ошибку 401 - Unauthorized или Invalid Unicode value in one or more parameters.

Есть идеи?

1 Ответ

1 голос
/ 05 марта 2010

Это помогает? Я протестировал приложение, из которого оно получено, и оно успешно опубликовало мое обновление, используя диакритический знак в вашем сообщении (и длиной 140 символов).

HttpWebRequest request = CreateRequest("https://twitter.com/statuses/update.xml", "POST", 
username, password);
string str = HttpUtility.UrlEncode(status);
byte[] buffer = new UTF8Encoding(false, false).GetBytes("status=" + str);
using (Stream stream = request.GetRequestStream())
{
    stream.Write(buffer, 0, buffer.Length);
}
request.GetResponse().Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...