2013-03-01 2 views
0

У меня есть текстовое поле в приложении, и текст из текстового поля отправляется как сообщение после запроса POST. Если я включаю какие-либо знаки в текст, такие как £ или $, он преобразует их в вопросительные знаки.Кодирование и POST-данные

Есть ли кодирование мне нужно сделать, чтобы остановить это происходит

Редактировать У меня нет доступа к серверу на другом конце.

ответ

0

Попробуйте добавить <meta charset='utf-8'> или <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> в теге вашей страницы.

Также проверьте web.config вашего сайта, чтобы узнать, какие настройки глобализации установлены там. Может быть полезно установить utf-8 явно.
Код ссылки: http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx

0

Основная кодировка http-url заменит ваш $ for% 24, однако это не похоже на то, что проблема здесь. Вы можете использовать URLEncode, а затем декодировать его на другом конце. Или, если вы отправляете это как часть полезной нагрузки, вам может потребоваться указать кодировку символов, которую вы используете (одна сторона использует ASCII другой UTF-8 или что-то в этом роде, и вы получаете мусор, как результат).

1

Я экспериментировал с различными методами .NET для кодирования URL. Возможно, следующая таблица будет полезна:

Unencoded UrlEncoded UrlEncodedUnicode UrlPathEncoded EscapedDataString EscapedUriString HtmlEncode HtmlAttributeEncode HexEscape 
A   A   A     A    A     A    A   A     %41 
B   B   B     B    B     B    B   B     %42 
C   C   C     C    C     C    C   C     %43 
D   D   D     D    D     D    D   D     %44 

a   a   a     a    a     a    a   a     %61 
b   b   b     b    b     b    b   b     %62 
c   c   c     c    c     c    c   c     %63 
d   d   d     d    d     d    d   d     %64 

0   0   0     0    0     0    0   0     %30 
1   1   1     1    1     1    1   1     %31 
2   2   2     2    2     2    2   2     %32 
3   3   3     3    3     3    3   3     %33 

[space] +   +     %20   %20    %20    [space] [space]    %20 
!   !   !     !    !     !    !   !     %21 
"   %22  %22    "    %22    %22    &quot;  &quot;    %22 
#   %23  %23    #    %23    #    #   #     %23 
$   %24  %24    $    %24    $    $   $     %24 
%   %25  %25    %    %25    %25    %   %     %25 
&   %26  %26    &    %26    &    &amp;  &amp;    %26 
'   %27  %27    '    '     '    &#39;  &#39;    %27 
(  (   (    (    (    (    (   (     %28 
)  )   )    )    )    )    )   )     %29 
*   *   *     *    *     *    *   *     %2A 
+   %2b  %2b    +    %2B    +    +   +     %2B 
,   %2c  %2c    ,    %2C    ,    ,   ,     %2C 
-   -   -     -    -     -    -   -     %2D 
.   .   .     .    .     .    .   .     %2E 
/  %2f  %2f    /   %2F    /   /  /     %2F 
:   %3a  %3a    :    %3A    :    :   :     %3A 
;   %3b  %3b    ;    %3B    ;    ;   ;     %3B 
<   %3c  %3c    <    %3C    %3C    &lt;  &lt;    %3C 
>   %3e  %3e    >    %3E    %3E    &gt;  >     %3E 
=   %3d  %3d    =    %3D    =    =   =     %3D 
?   %3f  %3f    ?    %3F    ?    ?   ?     %3F 
@   %40  %40    @    %40    @    @   @     %40 
[   %5b  %5b    [    %5B    %5B    [   [     %5B 
]   %5d  %5d    ]    %5D    %5D    ]   ]     %5D 
\   %5c  %5c    \    %5C    %5C    \   \     %5C 
^   %5e  %5e    ^   %5E    %5E   ^  ^     %5E 
_   _   _     _    _     _    _   _     %5F 
`   %60  %60    `    %60    %60    `   `     %60 
{   %7b  %7b    {    %7B    %7B    {   {     %7B 
}   %7d  %7d    }    %7D    %7D    }   }     %7D 
|   %7c  %7c    |    %7C    %7C    |   |     %7C 
~   %7e  %7e    ~    ~     ~    ~   ~     %7E 

Ā   %c4%80  %u0100   %c4%80   %C4%80   %C4%80   Ā   Ā     [OoR] 
ā   %c4%81  %u0101   %c4%81   %C4%81   %C4%81   ā   ā     [OoR] 
Ē   %c4%92  %u0112   %c4%92   %C4%92   %C4%92   Ē   Ē     [OoR] 
ē   %c4%93  %u0113   %c4%93   %C4%93   %C4%93   ē   ē     [OoR] 
Ī   %c4%aa  %u012a   %c4%aa   %C4%AA   %C4%AA   Ī   Ī     [OoR] 
ī   %c4%ab  %u012b   %c4%ab   %C4%AB   %C4%AB   ī   ī     [OoR] 
Ō   %c5%8c  %u014c   %c5%8c   %C5%8C   %C5%8C   Ō   Ō     [OoR] 
ō   %c5%8d  %u014d   %c5%8d   %C5%8D   %C5%8D   ō   ō     [OoR] 
Ū   %c5%aa  %u016a   %c5%aa   %C5%AA   %C5%AA   Ū   Ū     [OoR] 
ū   %c5%ab  %u016b   %c5%ab   %C5%AB   %C5%AB   ū   ū     [OoR] 

Столбцы представляют собой кодирование следующим образом:

UrlEncoded: HttpUtility.UrlEncode

UrlEncodedUnicode: HttpUtility.UrlEncodeUnicode

UrlPathEncoded: HttpUtility.UrlPathEncode

EscapedDataString: Uri.EscapeDataString

EscapedUriString: Uri.EscapeUriString

HtmlEncode: HttpUtility.HtmlEncode

HtmlAttributeEncode: HttpUtility.HtmlAttributeEncode

HexEscape: Uri.HexEscape

ПРИМЕЧАНИЯ:

  1. HexEsca pe может обрабатывать только первые 255 символов. Поэтому он генерирует исключение ArgumentOutOfRange для символов Latin A-Extended (например, Ā).

  2. Символы моей таблицы не упорядочены точно в порядке возрастания ASCII/Unicode (например, [,], \ находятся в нерабочем состоянии).

+0

Это очень полезно. Почему бы вам не опубликовать его в формате pdf – Tushar

+0

@Tushar Спасибо за ваш комментарий. Пожалуйста, сообщите мне инструкции по отправке PDF в SO. – saeed

Смежные вопросы