2010-09-30 4 views
3

Я пытаюсь вставить символ фунта в простой текст сообщения электронной почты с использованием .net, но это выглядит как £фунт в обычный текст электронной почты

Любые идеи, как я могу это исправить?

благодаря

+0

Как пользователь, я отказался от веры, что объединенные почтовые системы мира когда-либо будут * надежно передавать £. В моих собственных письмах я ссылаюсь на фунты стерлингов с «GBP» :( – AakashM

ответ

2

Единственный способ заставить его работать, чтобы убедиться, что вы закодировать письмо с той же кодировке символов, как к тому, что вы расшифровать его. В этом случае вы кодируете электронную почту в UTF-8, но decoding it, как если бы это был латинский-1. Это может быть излишним для этого случая, но The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets хорошо читается.

Одним из решений является добавление Content-Type: text/plain; charset=UTF-8 в качестве заголовка.

+0

спасибо ... добавьте это как заголовок чего-нибудь? – Tom

+0

Из [email] (http://en.wikipedia.org/wiki/Email # Message_format). Я не знаю ASP.net, но [это] (http://www.4guysfromrolla.com/articles/101707-1.aspx) может помочь. –

-3

Зависит, как вы вставив его, но пару опций ...

$ 

или

Convert.ToChar(35); 
+0

-1 '$ '- это ASCII 36, ака« знак доллара », 35 будет хеш-знаком. – sleske

+0

Первый не будет работать в текстовом формате (см. который задан в вопросе), второй работает только в том случае, если кодировка символов задана правильно. – Quentin

1

Убедитесь, объявленная кодировка символов электронной почты соответствует кодировке символов, которую вы фактически используете.

1

Ну, это зависит от кодировки символов, которую вы используете для отправки ваших сообщений в текстовом формате.

Помните, нет такой вещи, как plaintext - вам всегда нужно использовать кодировку, и их много на выбор :-).

Если вы используете кодировку, имеющую знак фунта (кодировки Unicode, ASCII, например, нет), то просто выведите его нормально, и он должен работать.

P.S. Также смотрите эту прекрасную статью:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

0

Я понимаю, что прошло два года с тех пор, как эта нить работала, но люди явно нуждаются в ответе на эту проблему. Мой опыт связан с электронными сообщениями «обычного текста», а не с HTML.

Я обнаружил, что «Content-Type: text/plain; charset = UTF-8» работает неправильно. Сам набор символов должен быть в кавычках, как:

"Content-Type: текст/равнину; Charset = 'UTF-8'"

Конечно несколько других кодировок будет работать отлично слишком.

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