當通過PHP請求發送郵件時,俄語信件發生了什麼?例如? 的 「硬編碼」 俄羅斯字母正常顯示,但是從窗體的textboxex象形文字:PHP和俄羅斯信件
HTML頁面:
<tr>
<td style="width: 280px">Содержание работ</td>
<td><input type="text" id="workContent"/></td>
</tr>
PHP頁面:
$WorkContent = $_REQUEST["workContent"]; //Содержание работ
// ...
$WorkContentLabel = "Содержание работ";
// ...
$message .= $WorkContentLabel . ":\t" . $WorkContent . "\n";
// ...
// email stuff (data below changed)
$to = "[email protected]";
$from = "[email protected]";
$from_header = "From: Russian site command ";
$subject = "Message with russian letters";
$subject = '=?utf-8?B?'.$subject.'?=';
$message .= $subject;
// send message
mail($to, $subject, $message, $from_header);
用戶在文本框中輸入一些內容: alt text http://lh3.ggpht.com/_1TPOP7DzY1E/S1y6Y0wb9tI/AAAAAAAAC88/OkdMQkO47HQ/s800/works.png
並提交表格。
我怎麼接受(在Gmail中):
Содержание работ: 1)Содержание 2)RABOT
所以,硬編碼俄文本 - OK,通過形式俄文本發送 - NOK,由發表格ASCII文本 - 確定。
有人知道什麼可能是編碼的奇怪行爲的原因?
編輯: 使用
$subject = " оборудования - subject with russian letters";
$subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
$message .= $subject;
用'$ subject ='=?UTF-8?B?將PHP文檔保存爲UTF-8。 。 base64_encode($ subject)。 '?=';'現在一切正常! 非常感謝! – serhio 2010-01-24 22:19:09