Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Отправка заполненной формы в Joomla


Автор: Dumpty 13.4.2010, 19:47
Доброго времени суток.
Возникла такая проблема:
Отправляю статью в CMS Joomla, и текст статьи надо посылать в аскии виде.
Делаю это так: 
Код

hex1 += String.Format("%{0:x2}", (uint)System.Convert.ToUInt32(tmp1.ToString())).ToUpper();

где tmp1 это символ.
Но к сожалению, если заменить все символы таким образом, то символы пробел надо менять на плюсик, символ буквы или цифры или точки оставляем как есть, а вот проблема со следующими символами возникла сильная:
'·', '´', '°'
данные символы перекодированные в АСКИИ не проходят при отправк формы, и текст сообщения обрывается а этом символе.
Если оставить эти символы так, как они идут - то всё нормальо проходит. И в то же время символы <>/ и т.д. надо посылать именно как аскии, и никак иначе.

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


Как я понял - это extended ascii characters, а как их в C# определить?

Автор: jonie 15.4.2010, 10:34
http://msdn.microsoft.com/en-us/library/system.web.httputility.htmlencode.aspx
вам это надо ? кодировать просто стандартными средствами, не надо своё изобретать

Автор: Dumpty 19.4.2010, 20:05
Это была проблема при конвертации в АСКИИ. Т.е. символы, которые не входили в основную таблицу аскии, а считались extended ascii characters, эти символы не надо конвертировать. В итоге сделал такое преобразование:

int value = Convert.ToInt32©;
string hexOutput = String.Format("{0:D}", value);
value = Int32.Parse(hexOutput);

И если value больше 127, то символ оставался не конвертированным в аскии

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)