Я пытаюсь вставить символ фунта в простой текст сообщения электронной почты с использованием .net, но это выглядит как £фунт в обычный текст электронной почты
Любые идеи, как я могу это исправить?
благодаря
Я пытаюсь вставить символ фунта в простой текст сообщения электронной почты с использованием .net, но это выглядит как £фунт в обычный текст электронной почты
Любые идеи, как я могу это исправить?
благодаря
Единственный способ заставить его работать, чтобы убедиться, что вы закодировать письмо с той же кодировке символов, как к тому, что вы расшифровать его. В этом случае вы кодируете электронную почту в 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
в качестве заголовка.
спасибо ... добавьте это как заголовок чего-нибудь? – Tom
Из [email] (http://en.wikipedia.org/wiki/Email # Message_format). Я не знаю ASP.net, но [это] (http://www.4guysfromrolla.com/articles/101707-1.aspx) может помочь. –
Зависит, как вы вставив его, но пару опций ...
$
или
Convert.ToChar(35);
Убедитесь, объявленная кодировка символов электронной почты соответствует кодировке символов, которую вы фактически используете.
Ну, это зависит от кодировки символов, которую вы используете для отправки ваших сообщений в текстовом формате.
Помните, нет такой вещи, как plaintext - вам всегда нужно использовать кодировку, и их много на выбор :-).
Если вы используете кодировку, имеющую знак фунта (кодировки Unicode, ASCII, например, нет), то просто выведите его нормально, и он должен работать.
P.S. Также смотрите эту прекрасную статью:
Я понимаю, что прошло два года с тех пор, как эта нить работала, но люди явно нуждаются в ответе на эту проблему. Мой опыт связан с электронными сообщениями «обычного текста», а не с HTML.
Я обнаружил, что «Content-Type: text/plain; charset = UTF-8» работает неправильно. Сам набор символов должен быть в кавычках, как:
"Content-Type: текст/равнину; Charset = 'UTF-8'"
Конечно несколько других кодировок будет работать отлично слишком.
Как пользователь, я отказался от веры, что объединенные почтовые системы мира когда-либо будут * надежно передавать £. В моих собственных письмах я ссылаюсь на фунты стерлингов с «GBP» :( – AakashM