2012-02-21 4 views
4

Специальные символы в строке темы почты, которые преобразуются в вопросительные знаки или прямоугольники.ColdFusion cfmail специальные символы в строке темы

Я попытался обернуть динамическую строку темы в URLEncodedFormat, но все-таки напрасно.

<cfset strSubject= URLEncodedFormat(s)> 
<cfmail 
    from="[email protected]" 
    to="[email protected]" 
    subject="#strSubject#"   
    type="html" 
> 
    #testText# 
</cfmail> 

ответ

7

Предполагая, что специальные символы являются юникода charactes, вам придется кодировать строку в формат base64 и использовать его в теме. Подобно этому,

<cfset strSubject="Demande d’chantillons supplémentaires"> 
<cfset strSubject=ToBase64(strSubject, "utf-8")> 

<cfmail from="[email protected]" to="[email protected]" subject="=?utf-8?B?#strSubject#?=" type="html"> 
    #testText# 
</cfmail> 

Сюжетная линия должна быть в формате =?<charset>?<encoding>?<encoded text>?=

? и = требуется.

MIME - Encoded Word

"кодировок" может быть любой набор символов зарегистрирован IANA. Обычно будет такой же кодировкой, как тело сообщения.

«кодирование» может быть либо «Q», обозначающее Q-кодирования, который аналогичен в кавычках печати кодировки, или «B», обозначающий кодирование base64.

«закодированный текст» - это кодированный Q-кодированный или base64-текст.

+0

Большое спасибо, это работает – Arasu

+0

Cool Solution. Вот запись в вики, объясняющая это http://en.wikipedia.org/wiki/MIME#Encoded-Word –

0

Также: добавить charset = "utf-8" в тег cfmail. Если вы используете utf-8 в теме, вы, вероятно, также будете использовать его в теле.

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

  • Нет связанных вопросов^_^